首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python-3中reversed()的时间复杂度

Python-3中reversed()的时间复杂度
EN

Stack Overflow用户
提问于 2021-01-02 22:44:58
回答 1查看 235关注 0票数 2

在Python-3中,reversed()的时间复杂度是多少?我认为答案是O(1),但我想澄清它是对还是错?

EN

回答 1

Stack Overflow用户

发布于 2021-01-02 23:02:28

在我的机器上,reversed(some_list)总是需要大约120 is才能完成,这是O(1)时间复杂度的明显标志。这是因为该函数实际上并不更改任何值,它只返回一个list_reverseiterator,向后迭代列表。这个对象非常类似于一个普通的生成器,例如,当你在它上面调用list时,它的元素会被消耗掉:

代码语言:javascript
复制
In [10]: a = [i for i in range(5)]

In [11]: b = reversed(a)

In [12]: b
Out[12]: <list_reverseiterator at 0x7f11fe3615b0>

In [13]: list(b)
Out[13]: [4, 3, 2, 1, 0]

In [14]: b
Out[14]: <list_reverseiterator at 0x7f11fe3615b0>

In [15]: list(b)
Out[15]: []
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65540349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档