解码高级Python以简化代码

时间:2015-04-02 21:51:51

标签: python python-3.x for-loop

我有一个编码,我想解码成简单的编程,如简单的嵌套' for'循环等。我知道对于高级程序员来说这可能是一个愚蠢的问题,但我处于非常基本的编程水平。所以,请任何帮助将不胜感激。

anything = {v: k for k, v in dic.items()} #Assume that 'dic' has already defined.

任何人都可以帮我弄清楚如何阅读这段代码,并将其解码为简单的嵌套循环? 提前致谢

3 个答案:

答案 0 :(得分:5)

语法anything = {v: k for k, v in dic.items()}等同于:

anything = {}
for k, v in dic.items():
    anything[v] = k

答案 1 :(得分:3)

展开次数最多的表格是

anything = dict()
for k in dic: # for each key in dic
    v = dic[k]
    anything[v] = k

基本上这需要字典dic并反转键和值以便

{ 1: 2, 3: 4}

会变成

{ 2:1, 4:3}

答案 2 :(得分:2)

如果你开始编程并从Python开始,那么很难理解的一件事是for循环中的变量声明。

作为第一个概念,请考虑一个列表

mylist = ['string1', 'string2', 'string3']

如果您希望遍历该列表,可以通过以下方式进行:

for item in mylist:
    print item

Python使它变得非常简单,就像使用其他语言一样,你可能需要迭代索引(想想i = 0; i< 10,i ++)然后找到你想要的特定项目(想想打印mylist [i] ])。

上面的内容稍微复杂一些,因为它遍历字典。字典项目被重新引用为以下mydict = {this: that, this1: that1, this3: that3}

字典的使用方式与此mydict[this]一样,会返回that

结合这两个概念就是如何得出上述答案。