Python,计算列表差异

2024-03-28 12:41:08 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,计算两个列表之间差异的最佳方法是什么?

示例

A = [1,2,3,4]
B = [2,5]

A - B = [1,3,4]
B - A = [5]

Tags: 方法示例列表差异
3条回答

如果顺序无关紧要,您可以简单地计算设置差:

>>> set([1,2,3,4]) - set([2,5])
set([1, 4, 3])
>>> set([2,5]) - set([1,2,3,4])
set([5])

你可以做一个

list(set(A)-set(B))

以及

list(set(B)-set(A))

如果不关心项目顺序或重复,请使用set。如果需要,请使用list comprehensions

>>> def diff(first, second):
        second = set(second)
        return [item for item in first if item not in second]

>>> diff(A, B)
[1, 3, 4]
>>> diff(B, A)
[5]
>>> 

相关问题 更多 >