以这种方式清空列表似乎很:
while len(alist) > 0 : alist.pop()
是否存在明确的方法来做到这一点?
这实际上从列表中删除了内容,但不会用新的空列表替换旧标签:
del lst[:]
这是一个例子:
lst1 = [1, 2, 3] lst2 = lst1 del lst1[:] print(lst2)
为了完整起见,切片分配具有相同的效果:
lst[:] = []
它还可以用于缩小列表的一部分,同时替换一部分(但这超出了问题的范围)。
请注意,doinglst = []不会清空列表,只是创建一个新对象并将其绑定到变量lst,但旧列表仍将具有相同的元素,并且如果它具有其他变量绑定效果会很明显。
lst = []
lst