【问题标题】:What is the big-o notation for the `len()` function in Python? [duplicate]Python 中 `len()` 函数的大写法是什么? [复制]
【发布时间】:2012-09-02 18:35:39
【问题描述】:

可能重复:
Cost of len() function

len() 是否遍历列表中的对象然后返回它们的计数?因此给它一个O(n)

或者....

python 列表是否对附加到它的任何对象进行计数并从中删除,然后在调用len() 时简单地返回这个“计数”?因此给它O(1)

【问题讨论】:

标签: python big-o


【解决方案1】:

Python 列表知道自己的长度; len 接受 O(1) timeLists are actually arrays,不是 Lisp 中的链表,length 需要线性时间。

【讨论】:

【解决方案2】:

对于定义__len__() 的所有内置对象,它将是O(1)。如果你为自己的对象实现__len__(),它可能是任何东西。

【讨论】:

    猜你喜欢
    • 2013-12-16
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 2020-03-12
    • 2010-09-19
    • 2018-10-17
    相关资源
    最近更新 更多