找出两个列表的区别

  • 问题:
  • 我在Python中有两个列表,如下所示:

    temp1 = ['One', 'Two', 'Three', 'Four']
    temp2 = ['One', 'Two']

    我需要创建第三个列表,其中第一个列表中没有第二个列表中的项目。从这个例子中我得到:

    temp3 = ['Three', 'Four']

    有没有没有没有循环和检查的快速方法?在

  • 答案:
  • In [5]: list(set(temp1) - set(temp2))
    Out[5]: ['Four', 'Three']

    小心点

    In [5]: set([1, 2]) - set([2, 3])
    Out[5]: set([1])

    您可能期望/希望它等于set([1,3])。如果您希望set([1,3])作为答案,则需要使用set([1,2])。对称差分(set([2,3])