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

时间:2014-03-21 13:05:07

标签: python list match

我是编程新手,但我一直在学习,最近我碰到了墙,所以我一直在寻求帮助。 对不起,如果以前讨论过,但我无法找到问题的答案。 我有两个清单。我需要比较它们,并在结果中获得 DON&T匹配的对象。例如:

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

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

列表位于文件 notepad file.txt 中,如果您帮助我帮助我们,请记住这些列表。 :)

2 个答案:

答案 0 :(得分:17)

您可以将列表转换为集合并运行通常的set operations,例如差异或对称差异。例如,set(b) - set(a)评估为set([7, 8, 9])

答案 1 :(得分:9)

如果第二组并不总是第一组的子集,则差异运算符' - '可能并不总是返回您期望的结果。

E.g。

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

如果你想要一个列表中的一组项目而不是两个列表都使用对称差异运算符'^'。

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

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

http://docs.python.org/2/library/stdtypes.html#set