【发布时间】:2016-08-30 05:01:33
【问题描述】:
我在解决this LeetCode problem 时遇到了一个问题。虽然我的解决方案被系统接受了,但是在网上搜索了以下问题后我仍然没有任何想法:
What is the time complexity of dict.keys() operation?
它是返回键的视图还是键的真实列表(存储在内存中)?
【问题讨论】:
-
在 Python 3.x 中的复杂度是
0(1)。在 Python 2.x 中,它返回一个列表,因此填充它或对其执行一些查找需要0(n)。 -
你问的是Python2还是Python3?
-
@Robᵩ 是真的,但我认为 OP 是在询问调用
.keys()的费用,而不是对其进行迭代。 -
是的。正如@ozgur 指出的那样,仅调用
dict.keys()而对结果不做任何事情是Python2 中的O(n)和Python3 中的O(1)。 -
@ozgur 是的。我在询问调用 .keys() 的成本,而不是对其进行迭代。
标签: python