2016-09-26 144 views
0

我知道這很簡單,但我正在爲此付出努力。基本上我要添加的結果爲一個dicionary內循環,所以我可以工作在另一個功能,這是我可以打印基於密鑰值所需的字段的結果,將for循環的結果添加到字典中,然後追加到列表

實施例:

i = 0 
    b = 0 
    cc = [] 
    while True: 
     i += 1 
     b += 1 
     abc = {b: i} 
     cc.append(abc) 
     if i == 3: 
      break 

結果:[{1: 1}, {2: 2}, {3: 3}]

所以,預期的結果將是[{"1": 1, "2": 2, "3": 3}]

這是蟒蛇2.7

+0

是唯一的問題,結果是鍵是數字而不是字符串? –

+1

如果你只在列表中有一個字典,爲什麼要把一本字典放在列表中?爲什麼不用'cc'代替 –

+2

在附註中,你的'while'邏輯正在擾亂我......正如在下面的答案中,你可以使用'for'循環或者至少在你的條件中寫入'while'循環:'而我<3:'。 :) – Daneel

回答

4

根據您的預期結果,我建議這樣的:

cc = [] 
for i in range(0,3): 
    cc.append({str(i): i}) 

但請注意,您做獲得在這個循環結束字典...你得到的是字典,每個列表字典僅包含一個鍵值對... [{'1':1},{'2':2}]{'1':1, '2':2}不一樣,使用這樣的字典列表可能會遇到問題。

所以我的猜測是你想要的東西沿着這一線路更多:

cc = dict() 
for i in range(0,3): 
    cc[str(i)] = i 

請告訴我,如果我誤解了你的問題,或者您需要的解決方案的詳細解釋。

+0

你的第二個例子完美地工作,但如果我嘗試迭代cc代碼與K,V在cc我得到這個:http://paste.ofcode.org/huid6kccw59pFxtTCJsrna –

+2

@ThalesPereira使用這個'for k,v in cc .iteritems()' – Pavan

+0

@Pavan我設法進去,謝謝那個Pavan。現在我可以回家睡覺了。 –

相關問題