我想要做的是将嵌套列表分配给另一个列表。例如,从 alist 到 blist。
alist = [[0], [1], [2], [3]]
blist = alist[:]
blist[0].append(1)
这样,id(alist[0])
equals id(alist[1])
,所以 alist 也变为[[0,1], [1], [2], [3]]
,这不是我想要的。
我的解决方法是:
alist = [[0], [1], [2], [3]]
blist = []
for item in alist:
blist.append(item[:])
blist[0].append(1)
在此解决方法中,alist 不会受到更改 blist 项目的影响。但是,它似乎不是那么pythonic,有没有更好的解决方案?这可以解决更多 2 级嵌套列表的深层副本。例如:alist = [[[1], 10], [[2], 20], [[3], 30]]