8

我发现我无法清除列表很烦人。在这个例子中:

a = []
a.append(1)
a.append(2)

a = []

我第二次将 a 初始化为一个空白列表,它创建了一个列表的新实例,它在内存中的不同位置,所以我不能用它来引用第一个,更不用说它效率低下。

我可以看到保留相同指针的唯一方法是执行以下操作:

for i in range(len(a)):
    a.pop()

不过,这似乎很冗长,有没有更好的方法来解决这个问题?

4

3 回答 3

27

您正在寻找:

del L[:]
于 2008-10-03T11:40:52.297 回答
4

我不确定你为什么担心你在内存中引用一个新的空列表而不是同一个“指针”。

你的另一个列表迟早会被收集起来,使用高级垃圾收集语言工作的一大好处是你通常不需要担心这样的事情。

于 2008-10-03T11:45:20.073 回答
1

这可以帮助你::)

L[:] = []
于 2019-07-26T09:59:59.980 回答