【发布时间】:2020-10-24 12:20:54
【问题描述】:
我正在寻找在 Python 中的两个列表之间找到共同项目的最快方法。这些列表具有相同的长度,包含整数(至少 10k)并且是无序的。经过一段时间的搜索,我找到了这个解决方案:
def common_item(l1, l2):
s = None
l2 = set(l2)
for i in l1:
if i in l2:
s = i
break
return s
我的目标(如果可能的话)是改进代码。欢迎提出任何建议。
编辑:我忘了说最多有一个共同点。
【问题讨论】:
-
你的算法运行时间是 O(len(l))。仅遍历列表需要相同的运行时间 - 因此您无法改进它。
标签: python performance