检查一个项目是否等于Python中许多元素中的一个
我想检查列表中的一个项目是否等于给定的n个元素集中的任何一个元素,如果是,做一些事情 例如,最直观但当然也是最麻烦、最丑陋的方式是:检查一个项目是否等于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
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
对元素使用集合或元组:集合查找速度更快,但要求元素可以散列。元组对于一些元素来说重量较轻,但如果有多个元素,则速度会变慢
此外,除非元素在循环中发生变化,否则应该在循环外部初始化集合,以避免每次创建集合/元组的开销