最简单的方法来检查列表中是否有(或不是)多个项目?

时间:2014-03-26 21:48:53

标签: python

我想使用与此类似的语法:

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 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:4)

使用any加上生成器:

if any(x in d for x in [a, b, c]):

或检查设置交叉点:

if {a, b, c} & set(d):