为了账号安全,请及时绑定邮箱和手机立即绑定

清除清单的不同方法

清除清单的不同方法

白衣染霜花 2019-12-10 09:58:17
当您想在Python中清除列表时,有什么理由要做比这两行之一更复杂的事情吗?old_list = []old_list = list()我问的原因是我在一些正在运行的代码中看到了这一点:del old_list[ 0:len(old_list) ]
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

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


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


>>> 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[:] = []


查看完整回答
反对 回复 2019-12-10
?
holdtom

TA贡献1805条经验 获得超10个赞

有一种清除python列表的非常简单的方法。使用del list_name [:]。


例如:


>>> a = [1, 2, 3]

>>> b = a

>>> del a[:]

>>> print a, b

[] []


查看完整回答
反对 回复 2019-12-10
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

这样alist = []做不会清除列表,只会创建一个空列表并将其绑定到变量alist。如果旧列表具有其他变量绑定,它将仍然存在。

要实际上就地清除列表,可以使用以下任何一种方法:

  1. alist.clear()  # Python 3.3+, most obvious

  2. del alist[:]

  3. alist[:] = []

  4. alist *= 0     # fastest

有关更多详细信息,请参见可变序列类型文档页面。


查看完整回答
反对 回复 2019-12-10
  • 3 回答
  • 0 关注
  • 337 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信