所以我剛剛遇到了一些奇怪的事情。當(dāng)我開始編程時(shí),我在復(fù)制列表和更改方面遇到了問題,然后了解到我必須使用my_list.copy()才能獲得實(shí)際副本?,F(xiàn)在我只是偶然發(fā)現(xiàn)了同樣的效果,盡管使用了list.copy().所以這是一個(gè)例子:ori = [['1', '2', '3'],['1', '2', '3'],['1', '2', '3'],['1', '2', '3']]copy = ori.copy()for i, item in enumerate(copy): del copy[i][0]print('Original list: ', ori)print('Copy of list: ', copy)我期望的輸出:Original list: [['1', '2', '3'],['1', '2', '3'],['1', '2', '3'],['1', '2', '3']]Copy of list: [['2', '3'], ['2', '3'], ['2', '3'], ['2', '3']]實(shí)際輸出:Original list: [['2', '3'],['2', '3'],['2', '3'],['2', '3']]Copy of list: [['2', '3'], ['2', '3'], ['2', '3'], ['2', '3']]所以我想我的問題是:這是預(yù)期的行為嗎?我是否需要使用copy.deepcopy()或是否有其他帶有內(nèi)置工具的解決方案?我在 PC 上使用 Python 3.8.1 我剛遇到這個(gè)“問題”。
盡管使用 list.copy(),Python 還是改變了原始列表
繁星點(diǎn)點(diǎn)滴滴
2022-12-20 15:14:21