Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x python中(i=0,j=10;i<;j;i+;+;,j--)的C循环的替代方法_Python 3.x - Fatal编程技术网

Python 3.x python中(i=0,j=10;i<;j;i+;+;,j--)的C循环的替代方法

Python 3.x python中(i=0,j=10;i<;j;i+;+;,j--)的C循环的替代方法,python-3.x,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()中传递变量吗?从您迭代的列表中删除几乎从来都不是一个好主意。当列表缩小时,计数器增加 在pyth

我试过这个

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

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

在python中,最好在列表项本身上循环,而不是在索引上循环

您可以通过以下方法解决您的问题:


为什么不
mylist=[x代表mylist中的x,如果x不在'+-']
?并且不要养成使用“is”比较int的习惯;有时它是有效的,但只是作为一种实现优化。保存“是”用于与无或其他定义的单例(内置或您自己的)进行比较。
res = [c for c in mylist if c not in '+-']