我正在尝试将 for 循环和逻辑操作结合起来,如下所示并遇到编译错误。
关于如何解决这个问题的任何意见?
File "test.py", line 36
for ((num in list) and (num not in handled_list)):
^
SyntaxError: invalid syntax
我正在尝试将 for 循环和逻辑操作结合起来,如下所示并遇到编译错误。
关于如何解决这个问题的任何意见?
File "test.py", line 36
for ((num in list) and (num not in handled_list)):
^
SyntaxError: invalid syntax
您也可以使用集合来执行此操作:
>>> a = [1, 2, 3, 4, 5]
>>> b = [3, 5]
>>> for num in set(a) ^ set(b):
... print num
...
1
2
4
该for
语句不支持这种语法。语法只是for item in iterable
--- 你不能指定条件。在循环内指定您的条件:
for num in list:
if num in handled_list:
continue
# Do what you want with the elements in list but not in handled_list
或者预先创建一个列表(或其他可迭代),其中包含您想要迭代的内容。
该for
语句不允许您尝试执行条件。
但是,您可以检查是否存在:
假设如下:
nums = [1,2,3,5,4]
handled_list = [12,3,5,23,4]
num = 2
if ((num in nums) and (num not in handled_list)):
print "hello, i did find the number in nums but not in handled list"
迭代仍然在if
语句中进行,但不允许访问每个迭代的元素。
尝试尽可能地紧贴您的示例,这是一个解决方案:
my_list = [1, 3, 5]
handled_list = [3]
for n in [num for num in my_list if num not in handled_list]:
print n
强烈建议避免重新定义内置插件,就像您似乎对“列表”所做的那样。
for
语句不能以这种方式使用。完成您想要做的事情的简单方法可能如下。
>>> for num in listOne:
if num not in listTwo:
# Do Something
此外,list
它是一个内置对象,如果您不使用它作为变量名会很好。