似乎很“肮脏”以这种方式清空列表:

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/

10-10 12:49