【问题标题】:Python 'in' operator search algorithm [duplicate]Python'in'运算符搜索算法[重复]
【发布时间】:2015-12-30 16:08:00
【问题描述】:

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

   if num in some_large_list:
      do_something(num)

我注意到它在大型列表上似乎很慢,in 运算符的算法复杂度是多少?它如何随着列表的大小而缩放。我们可以实现更好的东西吗?

(我问过 in 运算符是如何在 python 中实现的,它使用什么搜索算法,我们能否为更大的列表做一些比这更好的事情)

【问题讨论】:

  • 您的意思是“检查是否包含操作”中的“输入”操作吗?还是您的意思是“for ... in ...”操作?
  • 列表越大,它需要迭代的值就越多,因此随着列表的增长它会减慢
  • 这不是我的问题的答案,您之前提到的重复问题中也没有这样的答案

标签: python algorithm search


【解决方案1】:
for num in some_large_list:

这基本上从头到尾一个一个地遍历列表中的元素。所以,对于更长的列表,这个时间显然会增加。


我认为增加你的运行时间的是你在循环中执行的操作

do_something(num)

【讨论】:

    猜你喜欢
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 2021-07-07
    • 1970-01-01
    • 2020-02-17
    • 2020-01-25
    相关资源
    最近更新 更多