我知道列表L可以通过执行L [:]来复制。但是我面临一个我不明白为什么的问题。Python列表副本
src = [1,2,3]
dest = [[5,6,7]]
dest.append(src[:].append(4))
dest
[[5, 6, 7], None]
在上述样品中,SRC列表不被复制至目的(见无)当我试图复制和追加4到它。
dest.append(src[:])
dest
[[5, 6, 7], None, [1, 2, 3]]
可以看出在上面的代码片段,如果我添加只需添加清单(DEST)没有任何附加的尝试,它就会被插入。 有什么想法?
你需要什么样的最终结果? [[5,6,7],[1,2,3]]?或[5,6,7,1,2,3]? – zengr
@zengr,[[5,6,7],[1,2,3,4]]。问题是'append'不返回修改后的列表(它返回None)。 –