我现在才意识到,当我将列表附加到另一个列表并删除此附加列表时,该列表也不会出现在另一个列表中。 可能有道理,因为将列表附加到其他地方只是一个参考。所以,当我使用这样的东西时:
B[:] = []
然后它将从各处消失。我该如何避免这个问题?使用复制?我的问题是我在列表中收集列表,并且在某些时候我将这整个内容添加到另一个列表中 - 之后我想将添加的列表清空以使用它来添加新数据到它
答案 0 :(得分:1)
>>> a = [1, 2, 3, 4]
>>> b = list()
>>> b.append(a[:])
>>> a = []
>>> b
[[1, 2, 3, 4]]
答案 1 :(得分:1)
您需要将List
复制到另一个对象中,然后才能运行: -
a, b = range(10), []
c = a[:]
b.append(c)
a[:] = []
答案 2 :(得分:1)
我认为简单的方式是:
>>> a = []
>>> b = ['k']
>>> a.append(list(b))
>>> b[:] = []
>>> b
11: []
>>> a
12: [['k']]