问题描述
我想知道您是否可以以某种方式使用列表推导式来检查两个不同的列表是否包含所有两个不同的元素。
我知道使用一个 and
和两个不同的独立 all([list_comprehension])
可能更好,但如果有一天我需要检查 5 个列表中的 5 个内容,这不会升级太多。
解决方法
...经过一段时间的思考,我发现了方法:
if all([all([x in l for x in [elem1,elem2]]) for l in [list1,list2]]):
内部 all() 检查是否所有元素都在列表中,外部 all 确保我们对每个列表都做同样的事情。
MWE
list1 = [1,2,3]
list2 = [1,3,5]
if all([all([x in l for x in [1,3]]) for l in [list1,list2]]):
print("found 1 and 3 in all of the lists")