Python 如何比较包含整数的列表A和列表B并打印缺少的整数?

Python 如何比较包含整数的列表A和列表B并打印缺少的整数?,python,list,Python,List,我希望通过比较A和B列表来打印缺少的值 例如,当我打印(a)时,它会显示[1,2,5,7,8,9,11,12]缺失并且与a不同 A = ['0', '0', '3', '4', '6', '6', '6', '6', '6', '6', '10', '10', '10'] B = ['1', '10', '2', '5', '0', '3', '4', '7', '8', '9', '6', '11', '12'] 我试过了,但没用 a = [] for x in A: for y

我希望通过比较A和B列表来打印缺少的值

例如,当我打印(a)时,它会显示
[1,2,5,7,8,9,11,12]
缺失并且与a不同

A = ['0', '0', '3', '4', '6', '6', '6', '6', '6', '6', '10', '10', '10']

B = ['1', '10', '2', '5', '0', '3', '4', '7', '8', '9', '6', '11', '12']
我试过了,但没用

a = []
for x in A:
    for y in B:
        if y != u:
            a.append(y)
有没有一个简单的方法?我现在一直在努力学习更多。希望有人能帮忙。

使用设置差异:

>>> A = ['0', '0', '3', '4', '6', '6', '6', '6', '6', '6', '10', '10', '10']
>>> B = ['1', '10', '2', '5', '0', '3', '4', '7', '8', '9', '6', '11', '12']
>>> set(B)-set(A)
{'5', '9', '7', '2', '12', '11', '8', '1'}

您可以使用if语句:

for elt in B:
    if elt not in A:
        print(elt)

编辑:可能不如使用上述集合的选项有效。但是我将把它放在那里,这样您就可以了解for循环中的“notin”操作符;)

计数器解决方案也有效-

from collections import Counter
C = Counter()
A = ['0', '0', '3', '4', '6', '6', '6', '6', '6', '6', '10', '10', '10']
B = ['1', '10', '2', '5', '0', '3', '4', '7', '8', '9', '6', '11', '12']
C.update(A)
C.update(B)
D = [k for k, v in C.iteritems() if v == 1]
# OP ['11', '12', '1', '2', '5', '7', '9', '8']

sorted(map(int,set(B)-set(A))
非常感谢您的帮助。如果需要列表属性,请添加一个list()返回列表<代码>列表(集合(B)-集合(A))谢谢您,先生。已完成。非常感谢,先生,已完成。