检查字符串是否存在于多个列表中(python)

ej83mcc0  于 2023-01-12  发布在  Python
关注(0)|答案(1)|浏览(199)

希望有人能建议检查一个设置字符串是否存在于所有三个给定列表中的最有效方法,如果存在,则将itemInAllLists设置为True。
以下是我试图实现的总体想法。

item = 'test-element'

list_a = ['a','random','test-element']
list_b = ['light','apple','table']
list_c = ['car','field','test-element','chair']

itemInAllLists = False

if item in [list_a] and item in [list_b] and item in [list_c]:
   itemInAllLists = True
kgsdhlau

kgsdhlau1#

看看Python的all内置函数,如果一个可迭代对象的所有元素都为真,它将返回True
如果你把所有的列表放在一个组合列表中,你可以执行list comprehension来检查每个列表。

all(item in all_lists for all_lists in [list_a, list_b, list_c])
    • 更新**

正如deceze所提到的,你不必这样做,你所做的工作也很好,而且可能更容易阅读。使用allany可能更适合更多的列表,或者当你动态创建它们时。
要使代码正常工作,您只需删除括号,使语法正确:

if item in list_a and item in list_b and item in list_c:
    pass

相关问题