Python 3.x 如何检查列表中所有可能的数字组合?

Python 3.x 如何检查列表中所有可能的数字组合?,python-3.x,Python 3.x,假设我有一个很长的列表,其中每个子列表都是两个不同数字的组合。 例如: [[1,6],[7,3],[11,2],[6,3],[8,1],[4,11]。 我还输入了三个数字:A、B和C(例如6、1、3) 现在我想检查一个数字是否与B和С数字都有对。对于上面的例子,答案是肯定的,因为数字(6)有一对B(1)-[1,6],还有一对C(3)-[6,3] 由于所有这些数字都可以以任何方式相互组合,我现在使用的是脏暴力解决方案: if ([A, B] in list and [A, C] in list)

假设我有一个很长的列表,其中每个子列表都是两个不同数字的组合。 例如:

[[1,6],[7,3],[11,2],[6,3],[8,1],[4,11]。

我还输入了三个数字:A、B和C(例如6、1、3)

现在我想检查一个数字是否与B和С数字都有对。对于上面的例子,答案是肯定的,因为数字(6)有一对B(1)-[1,6],还有一对C(3)-[6,3]

由于所有这些数字都可以以任何方式相互组合,我现在使用的是脏暴力解决方案:

if ([A, B] in list and [A, C] in list) or
([A, B] in list and [C, A] in list) or 
([B, A] in list and [A, C] in list) or 
([B, A] in list and [C, A] in list) or...

一定有更好的办法

如何使用列表理解过滤列表中的组件

目标列表=[1,6]、[7,3]、[11,2]、[6,3]、[8,1]、[4,11]] >>>A,B,C=6,1,3 >>>筛选的_列表=[l代表目标_列表中的l,如果l中的A和(l中的B或l中的C)] >>>已筛选列表 [[1, 6], [6, 3]] >>>如果len(过滤列表)=2: ... 做某事