如何使用python检查列表中元素的组合

2024-09-24 22:18:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,很容易找到一个元素是否存在于列表中,但如何找到两个或所有元素的组合是否存在于列表中

listi = ["head","strong","pain","chores"]

对于一个元素:

if i in listi:
    print("available")
else:
    print("Not available")

但是如何检查元素的组合,比如列表中是否存在head,strong或者列表中是否存在pain,cores,strong或者元素的任何组合?怎么办

我知道我们可以通过子集来实现,但在这种情况下,我必须创建每个组合的子集,这是不可能的


Tags: in元素列表ifnotcoresheadelse
3条回答

您可以使用^{}和理解:

listi = ["head","strong","pain","chores"]
try1 = ["head", "strong"]
try2 = ["head", "face"]

all(e in listi for e in try1)  ## True
all(e in listi for e in try2)  ## False

您可以使用any / all方法:

if all([word_to_check in listi for word_to_check in words])

您可以按如下方式对此任务使用set算法:

listi = ["head","strong","pain","chores"]
required = set(["pain","chores","strong"])
print(required.issubset(listi))

输出

True

如果您想了解更多,请阅读Sets in docs

相关问题 更多 >