检查多个项目是否在列表中的最简单方法是什么?

16 投票
2 回答
31128 浏览
提问于 2025-04-18 00:03

我想用类似这样的语法:

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

anyall这两个函数可以用来检查多个布尔表达式的结果。

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

撰写回答