-1
我在一個循環中創建一個名爲'temp'的列表,並將它添加到一個母親列表'trouble'中。當我在循環的第二輪中將「臨時」添加到「麻煩」時,「麻煩」本身似乎正在改變。 爲了清晰起見,我簡化了代碼以僅包含此實例。Python:將列表添加到列表更改列表
award=[[['A',1],['B',1]],[['A',1],['C',1]],[['A',1],['C',1],['D',1]]]
trouble=[]
print '\n'
for n in range(len(award)-1):
temp=[]
for i in range(len(award[n])):
temp.append(award[n][i])
for i in range(len(award[n+1])):
for k in range(len(temp)):
if(temp[k][0]==award[n+1][i][0]):
temp[k][1]+=award[n+1][i][1]
break
else:
temp.append(award[n+1][i])
print 'temp', temp
trouble.append(temp)
print '\tn = ',n, '\n\ttrouble'
for i in range(len(trouble)):
print trouble[i]
print '\n'
輸出看起來是這樣的:
temp [['A', 2], ['B', 1], ['C', 1]]
n = 0
trouble
[['A', 2], ['B', 1], ['C', 1]]
temp [['A', 2], ['C', 2], ['D', 1]]
n = 1
trouble
[['A', 2], ['B', 1], ['C', 2]]
[['A', 2], ['C', 2], ['D', 1]]
我不明白爲什麼[「C」,1],還沒有(據我)追加的第一個實例後,被感動,在第二次追加後發生變化。
任何幫助將非常感激。
預先感謝您。
Anagha Madhusudanan
對不起,這是可怕的代碼 –
你究竟在這裏做什麼? –
我的意思並不重要,但是這段代碼幾乎不可讀。如果您絕對必須能夠訪問python列表中的項目的數字索引,請通過'for idx,enumerate(lst)'中的項目訪問它們。除了幫助你清理這個問題的建議之外,我實在沒有辦法破譯你要做的事情。我不能在心理上將它映射到足夠好的位置,以查看你的附加錯誤的位置,但這並不能幫助你的「獎勵」列表與不同長度的子列表深深嵌套。 –