用这种方式清空列表似乎太“脏”了:
while len(alist) > 0 : alist.pop()
是否存在明确的方法?
28
那么,为什么python字典和集合具有clear()方法,但没有列表?
—
工作
但是,如果有对该对象的多个引用,它可能会很有用。
—
内德·迪利
如果我需要在运行时清除进程的共享列表,而不必等待垃圾处理(这是我错了吗?我误解了垃圾回收吗?),这可能很有用。另外,如果我想检查每个弹出的元素,则可以在不使用切片的情况下调试它(否则我错了)。清除列表时,我不需要停止进程执行。
—
DrFalk3n
@ S.Lott仅仅因为您不明白为什么这很重要并不意味着我们其他人都不知道。如果多个对象依赖一个公共列表,那将很重要。在几种设计模式中,这一点很重要。垃圾收集器意味着您不必自己清理。这不是使更多事情变得混乱的许可证。
—
UpAndAdam
尽管有其他更好的答案,您的初始代码也可能已经写好了:alist:alist.pop()
—
MrWonderful 2014年