如果list2中存在list1的两个随机元素,是吗?

时间:2018-12-07 12:42:59

标签: python-3.x if-statement

如何使用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)

1 个答案:

答案 0 :(得分:1)

对于您在这里的“随机元素”中的随机含义,我有点不清楚,但是我想说的是,您想了解任何两个元素是否被共享两个清单。这可以通过找到两个列表的交集并查看它的大小来实现。有various methods to accomplish this,但我只使用列表理解:

intersection = [x for x in list1 if x in list2]

要测试它是否满足您的条件,您可以根据要在两个列表中恰好需要两个,两个或两个以上元素来进行len(intersection) == 2len(intersection) >= 2