Python在列表中使用for循环的IN和OR运算符
我对在python中实现这一点的正确方法感到困惑。。。。因此,如果我想使用for循环遍历一个列表,并检查列表“a”的每个元素是否在2个或更多其他列表中,但我似乎不知道如何做到这一点。。。以下是我所指的一些基本代码:Python在列表中使用for循环的IN和OR运算符,python,list,for-loop,boolean,in-operator,Python,List,For Loop,Boolean,In Operator,我对在python中实现这一点的正确方法感到困惑。。。。因此,如果我想使用for循环遍历一个列表,并检查列表“a”的每个元素是否在2个或更多其他列表中,但我似乎不知道如何做到这一点。。。以下是我所指的一些基本代码: >>> a [1, 2, 3, 4, 5] >>> even [2, 4] >>> odd [1, 3] >>> for i in a: ... if i in even or odd: ...
>>> a
[1, 2, 3, 4, 5]
>>> even
[2, 4]
>>> odd
[1, 3]
>>> for i in a:
... if i in even or odd:
... print(i)
...
1
2
3
4
5
既然5既不在偶数列表中,也不在奇数列表中,为什么这个代码要打印5??
还有什么正确的方法可以做到这一点,这样我就可以遍历一个列表并检查每个元素是否至少在其他列表中的一个列表中?您需要在中使用
两次:
if i in even or i in odd:
i处于偶数状态
将检查i
是否处于偶数状态
i in odd
将检查i
是否在odd
中
否则,您的代码将按如下方式计算:
if (i in even) or (odd):
此外,if语句的条件将始终计算为True
,因为odd
是一个非空列表(在Python中总是计算为True
)
最后,您需要记住,尽管Python的语法有些相似,但它不是英语。:) 您需要在中使用两次:
if i in even or i in odd:
i处于偶数状态
将检查i
是否处于偶数状态
i in odd
将检查i
是否在odd
中
否则,您的代码将按如下方式计算:
if (i in even) or (odd):
此外,if语句的条件将始终计算为True
,因为odd
是一个非空列表(在Python中总是计算为True
)
最后,您需要记住,尽管Python的语法有些相似,但它不是英语。:) 问题就在这里:i是偶数还是奇数
这被解析为:
(i为偶数)或(奇数)
Python试图将odd
列表转换为布尔值(在本例中为True
),但没有任何帮助
请尝试i in偶数或i in奇数
,这样可以正确检查i
在偶数
或奇数
中是否存在问题:i in偶数或奇数
这被解析为:
(i为偶数)或(奇数)
Python试图将odd
列表转换为布尔值(在本例中为True
),但没有任何帮助
尝试i为偶数或i为奇数
,这将正确检查i
是否出现在偶数
或奇数
中