如何使用If_statament进行此条件:“如果list2中存在list1的两个随机元素”
cp1=[2,4,5,7,9,10,12,-2,-4,-5,-7,-9,-10,-12]
import itertools
for i in itertools.product((1,3,5,6,8,10,12), repeat=3) :
i_suba1 = i[0] - i[1]
i_suba2 = i[0] - i[2]
i_subb1 = i[1] - i[2]
allsub = (i_suba1, i_suba2, i_subb1)
if cp1 in allsub >=2 :# HERE, I WANT TO SAY " if two random elements of cp1 are in allsub print stuff"
print (i,allsub)
答案 0 :(得分:1)
对于您在这里的“随机元素”中的随机含义,我有点不清楚,但是我想说的是,您想了解任何两个元素是否被共享两个清单。这可以通过找到两个列表的交集并查看它的大小来实现。有various methods to accomplish this,但我只使用列表理解:
intersection = [x for x in list1 if x in list2]
要测试它是否满足您的条件,您可以根据要在两个列表中恰好需要两个,两个或两个以上元素来进行len(intersection) == 2
或len(intersection) >= 2
。