请问有什么高效的方法,在保持顺序的前提下,做差集计算?

2022-04-06 18:43:58 +08:00
 Phishion

大概代码如下,其中主列表 full_queue 有 5000 个元素,做差集的列表有 50 个左右,计算下来耗时大概 100 多 ms ,有什么方法或者第三方包可以优化这部分的执行时间?

from datetime import datetime

process_start = datetime.now().timestamp()

full_queue = [4878214304830001, 4878214304830002, 4878214304830003, 4878214304830004, ...]
diff_queue = [4878214548209665, 4878214308487169, 4878265720848385, ...]
format_list = list(set(full_queue)-set(diff_queue))
format_list.sort(key=full_queue.index)

print(format_list[:5])
process_elapsed = round(datetime.now().timestamp() - process_start, 4) * 1000
print(process_elapsed)
1672 次点击
所在节点    Python
1 条回复
Phishion
2022-04-06 18:56:37 +08:00
行了,当我没问,我用列表解析遍历只要个位数 ms ,不知道为什么列表解析快那么多

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/845319

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX