2015-12-30 30 views
-2

我想知道什么是用于实现python in运算符的搜索算法。例如:Python'in'运算符搜索算法

if num in some_large_list: 
     do_something(num) 

我注意到,这似乎是在大名单慢,什么是in操作的算法的复杂性?它如何与列表的大小成比例。我们能否更好地实施一些?

(我问怎么in运营商已经在Python中实现,它使用什么样的搜索算法,我们可以做更大列出的东西比这更好)

+2

你的意思是“在”操作中的“检查是否包含运行”里面进行操作?或者你的意思是“......在......”中的操作? – Others

+0

您的列表越大,它必须迭代的值越多,因此当列表增长时,它会变慢速度 –

+0

这不是我的问题的答案,并且在重复提到的上述问题中没有这样的答案 –

回答

0
for num in some_large_list: 

在元素上这基本上迭代中从开始到结束逐个列表。所以,这个时间显然会增加更长的列表。


我认为是增加你的运行时间是你在循环

do_something(num)