一尘不染

Python-获得两个列表之间的差异

python

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

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

我需要用第一个列表中的项目创建第二个列表,而第二个列表中没有这些项目。从示例中,我必须得到:

temp3 = ['Three', 'Four']

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


阅读 621

收藏
2020-02-11

共1个答案

一尘不染

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]).symmetric_difference(set([2, 3]))。

2020-02-11