C中for循环的替代(i = 0,j = 10; i <j; i ++,j--)in =“”python =“”

时间:2017-08-09 11:50:22

标签: python-3.x

=“”

我试过这个

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()中传递变量吗?

1 个答案:

答案 0 :(得分:1)

从您正在迭代的列表中删除几乎不是一个好主意。当您的列表缩小时,您的计数器会增加。

在python中,最好循环遍历列表中的项而不是索引。

您可以使用list-comprehension解决问题:

res = [c for c in mylist if c not in '+-']
相关问题