似乎很“肮脏”以这种方式清空列表:
while len(alist) > 0 : alist.pop()
是否存在明确的方法?
最佳答案
实际上,这将从列表中删除内容,但不会用新的空列表替换旧标签:
del lst[:]
这是一个例子:
lst1 = [1, 2, 3]
lst2 = lst1
del lst1[:]
print(lst2)
为了完整起见,切片分配具有相同的效果:
lst[:] = []
它也可以用于缩小列表的一部分,同时替换一部分(但这超出了问题的范围)。
请注意,执行
lst = []
不会清空列表,只是创建一个新对象并将其绑定(bind)到变量lst
,但是旧列表仍将具有相同的元素,并且如果具有其他变量绑定(bind),效果将显而易见。关于python - 如何清空 list ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1400608/