首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >清除列表的不同方式

清除列表的不同方式
EN

Stack Overflow用户
提问于 2009-05-12 01:46:56
回答 4查看 369.5K关注 0票数 228

当您想要在Python中清除列表时,有没有理由做比这两行中的一行更复杂的事情呢?

old_list = []
old_list = list()

我这么问的原因是我在一些运行代码中看到了这一点:

del old_list[ 0:len(old_list) ]
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-12 02:03:17

就地清除列表将影响同一列表的所有其他引用。

例如,此方法不会影响其他引用:

>>> a = [1, 2, 3]
>>> b = a
>>> a = []
>>> print(a)
[]
>>> print(b)
[1, 2, 3]

但这一条是:

>>> a = [1, 2, 3]
>>> b = a
>>> del a[:]      # equivalent to   del a[0:len(a)]
>>> print(a)
[]
>>> print(b)
[]
>>> a is b
True

您还可以执行以下操作:

>>> a[:] = []
票数 377
EN

Stack Overflow用户

发布于 2015-05-25 13:22:54

del list[:] 

将删除该列表变量的值

del list

将从内存中删除变量本身

票数 7
EN

Stack Overflow用户

发布于 2015-07-07 21:41:35

如果你正在清空列表,显然,你不再需要这个列表了。如果是这样的话,你可以通过简单的del方法删除整个列表。

a = [1, 3, 5, 6]
del a # This will entirely delete a(the list).

但是,如果您再次需要它,您可以重新初始化它。或者只是简单地通过以下方式清除其元素

del a[:]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/850795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档