我相信这有一个标准答案。在一个列表上循环,形成一个新列表的最快方法是什么?这个新列表是不同列表中的元素。我通常只做列表理解,有时把目标列表变成一个集合。当目标列表很大时,散列目标列表通常会提高性能,但这是我所知道的唯一改进。如有任何建议,我们将不胜感激。你知道吗
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]
如果你不在乎顺序,你可以把两者都混在一起
否则,你就无能为力了
相关问题 更多 >
编程相关推荐