如何将一个列表的元素与python中另一个列表中的另一个元素完全匹配?

时间:2017-05-19 01:27:33

标签: python

我有两个清单: A = [1,2] B = [1,2,1,1,1,2,2] 如何将列表a的元素与列表b中的完全相同的元素匹配一次。 我尝试了代码:

for unit in a:
    for nit in b:
        if unit==nit:
            print(unit,nit)

但它匹配列表a中的元素与列表b中元素的所有类似匹配。我只需要一场比赛而不是多场比赛。

所以我尝试删除元素以防止进一步匹配,如代码所示:

我尝试了代码:

for unit in a:
    for nit in b:
        if unit==nit:
            print(unit,nit)
            a.remove(unit)

但它会返回错误。

2 个答案:

答案 0 :(得分:0)

我不确定这是否是你想要的 但这就是我要做的事情

a=[1,2]
b=[1,2,1,1,1,2,2]
for unit in a:
    if unit in b:
        print (unit,unit)

我有两次打印单位以匹配所需的输出。它有效,因为它是b中的相同元素,我们确保使用if条件

答案 1 :(得分:0)

这是你想要的吗?

In [3]:  a=[1,2]

In [4]: b=[1,2,1,1,1,2,2]

In [5]: a_set = set(a)

In [6]: b_set = set(b)

In [7]: a_set.intersection(b_set)
Out[7]: {1, 2}