猿问

清除清单的不同方法

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


old_list = []

old_list = list()

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


del old_list[ 0:len(old_list) ]


白衣染霜花
浏览 338回答 3
3回答

浮云间

清除适当的列表将影响同一列表的所有其他引用。例如,此方法不会影响其他引用:>>> 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 bTrue您也可以这样做:>>> a[:] = []

holdtom

有一种清除python列表的非常简单的方法。使用del list_name [:]。例如:>>> a = [1, 2, 3]>>> b = a>>> del a[:]>>> print a, b[] []

猛跑小猪

这样alist = []做不会清除列表,只会创建一个空列表并将其绑定到变量alist。如果旧列表具有其他变量绑定,它将仍然存在。要实际上就地清除列表,可以使用以下任何一种方法:alist.clear()  # Python 3.3+, most obviousdel alist[:]alist[:] = []alist *= 0     # fastest有关更多详细信息,请参见可变序列类型文档页面。
随时随地看视频慕课网APP

相关分类

Python
我要回答