3 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
您Queue
是完全相同列表的列表
Queue.append(temp)
不會(huì)創(chuàng)建新列表并將其添加到Queue
. 因此,當(dāng)您更改 的一個(gè)元素時(shí)Queue
,實(shí)際上是在更改所有元素。
Queue.append([])
應(yīng)該用于用單獨(dú)的空列表填充隊(duì)列。

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
因?yàn)?Queue 中的三個(gè)項(xiàng)目不是三個(gè)不同的空列表:它們都是temp. 因此temp、Queue[0]和都是同一個(gè)對象,修改其中一個(gè)會(huì)導(dǎo)致修改所有對象Queue[1]。Queue[2]
請嘗試使用以下代碼:
Queue = []
Queue.append([])
Queue.append([])
Queue.append([])
Queue[1].append('okay')
print(Queue)

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
將 temp = [] 替換為 list()
Queue = [ ]
Queue.append(list()) # 12 - 8
Queue.append(list())
Queue.append(list())
Queue[1].append('okay')
print(Queue)
output: [[], ['okay'], []]
添加回答
舉報(bào)