python找到两个列表之间的区别

python find difference between two lists

本问题已经有最佳答案,请猛点这里访问。

我是编程新手,但我一直在学习,最近我遇到了困难,所以我在寻求帮助。如果之前讨论过这个问题,我很抱歉,但我找不到我的问题的答案。我有两张单子。我需要对它们进行比较,并在结果中得到不匹配的对象。例如:

1
2
3
a = [1,2,3,4,5,6]
b = [1,2,3,4,5,6,7,8,9]
result = [7,8,9].

我似乎只找到返回匹配项的代码和示例。我不需要。

列表在文件notepad file.txt中,您可以记住,如果您这样做有助于帮助我。:)


可以将列表转换为集合,并运行常规的集合操作,如差分或对称差分。例如,set(b) - set(a)计算为set([7, 8, 9])


如果第二个集合不总是第一个集合的子集,那么差分运算符"-"可能并不总是返回您期望的结果。

例如。

1
[1,2,3,4,5] - [3,4,5,6,7] = [1,2]

如果要在任一列表中包含一组项目,但不是同时包含两个列表,请使用对称差分运算符'^'。

1
[1,2,3,4,5] ^ [3,4,5,6,7] = [1,2,6,7]

对称差分算子,假设它做你想要的,也有交换的优点。这意味着您不需要像使用差分运算符那样确定以何种顺序比较集合。

http://docs.python.org/2/library/stdtypes.html设置