检查两个列表中的每一个是否包含 Python 中的两个元素中的每一个

问题描述

我想知道您是否可以以某种方式使用列表推导式来检查两个不同的列表是否包含所有两个不同的元素。

我知道使用一个 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")

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...