我遇到什麼,我認爲是對append()
功能奇怪的行爲,我已經成功地複製它在以下簡化代碼:Python追加行爲奇怪?
plugh1 = []
plugh2 = []
n = 0
while n <= 4:
plugh1.append(n)
plugh2.append(plugh1)
n = n+1
print plugh1
print plugh2
我希望造成這樣的代碼:
plugh1 = [1, 2, 3, 4]
plugh2 = [[1], [1, 2], [1, 2, 3, ], [1, 2, 3, 4]]
但實際結果是:
plugh1 = [1, 2, 3, 4]
plugh2 = [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]
作爲循環運行中,每個所有數組元素與更換時間plugh1的值。
關於被如此類似的問題,但解決方案似乎與嵌套功能和定義這些電話以外的變量。我認爲這很簡單。我錯過了什麼?
還可以'plugh2.append(plugh1 [:])' – sberry
優秀。感謝您幫助newb。乾杯 –