我试过这个
mylist=['+','-','+','-']
for i in range(0,len(mylist)-1):
k=ord(mylist[i])
if(k is ord("+")or(k is ord("-"))):
del mylist[i]
i=0
但它会在一次迭代后退出。
我想每次从头到尾搜索
那么我们可以在range()
中传递变量吗?
答案 0 :(得分:1)
从您正在迭代的列表中删除几乎不是一个好主意。当您的列表缩小时,您的计数器会增加。
在python中,最好循环遍历列表中的项而不是索引。
您可以使用list-comprehension解决问题:
res = [c for c in mylist if c not in '+-']