繁体   English   中英

在 python 中搜索列表的最快方法

[英]Fastest way to search through lists in python

我相信这有一个标准答案。 循环一个列表的最快方法是什么,形成一个新列表,该列表是不同列表的成员。 我通常只做列表推导,有时将目标列表变成一个集合。 当目标列表很大时,散列目标列表通常会提高性能,但这是我所知道的唯一改进。 任何建议将不胜感激。

list_A=list(range(0,100))
list_B=list(range(50,60))

#List comprehension lookup 
listC=[x for x in list_A if x in list_B]

#Using set
set_B=set(list_B))
listD=[x for x in list_A if x in set_B]

如果您不关心订单,您可以 hash 两者

set(listA) & set(listB)

否则,你无能为力

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM