2015-04-02 52 views
2

我有一個編碼,我想解碼爲簡單的編程,例如簡單的嵌套'for'循環等。我知道這對高級程序員來說可能是一個愚蠢的問題,但我處於非常基礎的編程階段。所以,請任何幫助,將不勝感激。解碼高級Python以簡化代碼

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

任何人都可以幫助我弄清楚如何讀取這一個代碼,並將其解碼爲簡單的嵌套循環? 由於提前

回答

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} 
+0

非常感謝你....這正是我想要的! :) – 2015-04-02 22:00:23

5

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

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

一兩件事,很難理解,如果你都開始編程,並與Python開始是變量的聲明在for循環。

作爲第一個概念,考慮名單

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

如果您希望通過該列表進行迭代,你可以通過這樣做:

for item in mylist: 
    print item 

的Python使得它很容易,因爲與其他你可能需要通過索引來迭代語言(想想i = 0; i < 10,i ++),然後找到你正在尋找的特定項目(想想print mylist [i])。

以上是做什麼稍微複雜,因爲它遍歷字典。字典項represted爲以下mydict = {this: that, this1: that1, this3: that3}

字典使用這樣mydict[this]這將返回that

結合這兩個概念是,你將如何在上面得出答案。