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[:] = []
holdtom
TA贡献1805条经验 获得超10个赞
有一种清除python列表的非常简单的方法。使用del list_name [:]。
例如:
>>> a = [1, 2, 3]
>>> b = a
>>> del a[:]
>>> print a, b
[] []
猛跑小猪
TA贡献1858条经验 获得超8个赞
这样alist = []
做不会清除列表,只会创建一个空列表并将其绑定到变量alist
。如果旧列表具有其他变量绑定,它将仍然存在。
要实际上就地清除列表,可以使用以下任何一种方法:
alist.clear() # Python 3.3+, most obvious
del alist[:]
alist[:] = []
alist *= 0 # fastest
有关更多详细信息,请参见可变序列类型文档页面。
添加回答
举报
0/150
提交
取消