在python中运行len(数组)的时间复杂度?

在python中运行len(数组)的时间复杂度?,python,Python,Python如何计算数组的长度?它是存储在内部数据结构中的某个地方,还是必须遍历整个对象才能找到长度 我这样问是因为我使用它进行二进制搜索,应该在O(log(n))中运行,但是如果我必须迭代整个过程来查找长度,那么这显然没有意义。列表可以将其长度存储为其结构的一部分。因为它只需要存储在一个地方,所以它最多可以为所有计算添加O(1),因此不会有太多开销 因此,获取长度是O(1),因为它只是一个字段的查找 有关更多信息,请参见。对于列表为O(1),其他类型请参见此处:

Python如何计算数组的长度?它是存储在内部数据结构中的某个地方,还是必须遍历整个对象才能找到长度


我这样问是因为我使用它进行二进制搜索,应该在O(log(n))中运行,但是如果我必须迭代整个过程来查找长度,那么这显然没有意义。

列表可以将其长度存储为其结构的一部分。因为它只需要存储在一个地方,所以它最多可以为所有计算添加
O(1)
,因此不会有太多开销

因此,获取长度是
O(1)
,因为它只是一个字段的查找

有关更多信息,请参见。

对于列表为O(1),其他类型请参见此处: