清除Python列表

问题:

当您想在Python中清除列表时,是否有理由做任何比这两行更复杂的事情?

old_list = []
old_list = list()

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

del old_list[ 0:len(old_list) ]

回答:

清除列表将影响同一列表的所有其他引用。
例如,此方法不影响其他引用:

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

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Clearing Python lists

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

63 − = 62