【发布时间】:2013-10-09 20:53:53
【问题描述】:
我有两个非常大的列表,一个是 331991 个元素长,我们称之为 a,另一个是 99171 个元素长,称之为 b。我想将 a 与 b 进行比较,然后返回 a 中不在 b 中的元素列表。这也需要尽可能高效,并且按照它们出现的顺序,这可能是给定的,但我想我不妨把它扔在那里。
【问题讨论】:
-
列表中元素的唯一性重要吗?
-
必读:你尝试过什么?
-
1.尝试像
[x for x in a if x not in b]这样的幼稚方法 2. 基准测试 3. 够快吗?如果没有,请尝试其他方法并转到 2。 -
诸如:[x for x in set(b) if x not in set(a)] 甚至一些基本的东西,例如 [set(a)-set(b)],
-
首先:明确你真正想做的事情。大约一个小时前,您提出了类似的问题(要处理的数字间隔),当我要发布完整答案时,我发现您已删除了该问题。第二:首先自己阐述你的问题 - 正如其他人所建议的那样 - 你应该展示你已经尝试过的内容。第三:用完整的句子写下你的反应,正如你所看到的,其他反应可能介于两者之间。祝你好运,堆栈溢出。
标签: python algorithm python-2.7