检查多个项目是否在列表中的最简单方法是什么?
我想用类似这样的语法:
if a in b
但是我想检查多个项目,所以我需要像这样:
if ('d' or 'g' or 'u') in a
不过我知道这样是不行的。
所以我这样做了:
for i in a:
for j in ['d','g','u']:
if i==j
这样是可以的,
但我在想有没有更简单的方法。
2 个回答
8
使用 any
加上生成器:
if any(x in d for x in [a, b, c]):
或者检查集合的交集:
if {a, b, c} & set(d):
31
any
和all
这两个函数可以用来检查多个布尔表达式的结果。
a = [1, 2, 3, 4, 5]
b = [1, 2, 4]
print(all(i in a for i in b)) # Checks if all items are in the list
print(any(i in a for i in b)) # Checks if any item is in the list