检查一个项目是否等于Python中许多元素中的一个

检查一个项目是否等于Python中许多元素中的一个,python,Python,我想检查列表中的一个项目是否等于给定的n个元素集中的任何一个元素,如果是,做一些事情 例如,最直观但当然也是最麻烦、最丑陋的方式是: for item in List: if (item == element1) or (item == element2) or ... or (item == elementn): do something 有什么更好的检查方法 for item in my_ist: if item in (element1, element2

我想检查列表中的一个项目是否等于给定的n个元素集中的任何一个元素,如果是,做一些事情

例如,最直观但当然也是最麻烦、最丑陋的方式是:

for item in List:
    if (item == element1) or (item == element2) or ... or (item == elementn):
        do something
有什么更好的检查方法

for item in my_ist:
    if item in (element1, element2, ..., elementn):
        # do something
如果
my_list
中项目的顺序和频率无关紧要,您也可以使用

for item in set(my_list) & set((element1, element2, ..., elementn)):
    # do something

如果列表2中的项:使用要匹配的元素正确初始化列表2,则只需执行
操作。

您可以使用
中的
操作符:

elements = set((element1, element2, ..., elementn))
...
if item in elements:
   do something
对元素使用集合或元组:集合查找速度更快,但要求元素可以散列。元组对于一些元素来说重量较轻,但如果有多个元素,则速度会变慢

此外,除非元素在循环中发生变化,否则应该在循环外部初始化集合,以避免每次创建集合/元组的开销