我试图通过代码
删除循环中的每个元素来清除python列表x=list(range(10000))
for i in x:
x.remove(i)
我认为在此代码 x 之后必须 [] ,而只删除列表中的每个第二个元素。 len(x)= 5000 而不是 0 。
为什么会这样?我究竟做错了什么。 感谢
答案 0 :(得分:2)
a.remove(i)搞砸索引是我的猜测。
改为使用
a.clear()
这是清除列表的好方法。
答案 1 :(得分:1)
如果你想要像你一样清除一个python列表,正确的方法是使用x.clear
,关于该方法的文档here,现在,如果你想使用一些幻想删除元素条件,只需使用filter,例如清除整个x
列表:
x = list(range(10000))
x = filter(lambda x: False, x)
print x
答案 2 :(得分:0)
如果你想实现一个列表对象,在迭代它时会擦除它自己很容易:
expect
答案 3 :(得分:0)
strsplit