我有一個Python列表x = [['a',1], ['b',3],['d',5]]
,我想第二列的值存儲在一個新的列表y = [['a',1], ['b',3], ['c',0], ['d',5]]
不一定是第名單將有全部,B,C,d項。 這是我現在所擁有的:的Python:手柄Python列表
x = [['a',1], ['b',3],['d',5]]
y = []
b = ('a','b','c','d')
for key in b:
for i, sublist in enumerate(x):
if sublist[0] == key:
y.append(sublist)
else
y.append([key,0])
print y
這給:
[['a', 1], ['a', 0], ['a', 0], ['b', 0], ['b', 3], ['b', 0], ['c', 0], ['c', 0], ['c', 0], ['d', 0], ['d', 0], ['d', 5]]
它是什麼,我做錯了什麼?
你最終只是想確保列表x中的鍵是在列表b?因爲如果是這樣的話,你不需要像這樣嵌套循環。這又意味着你應該使用'in'關鍵字來代替。此外,我不確定你在尋找比賽時的目標。你是否希望隨時更新最新的價值? – idjaw
每次在for循環中,您都在檢查條件並追加到列表中。這是如此之久的結果 – bigbounty