【发布时间】:2016-07-10 12:58:15
【问题描述】:
我想知道for 循环究竟是如何访问字典中的键的?
它会调用dict.keys() 并遍历该列表吗?
我问的原因是我想查询字典的键,任何键,我想知道调用之间是否存在性能差异(除了视觉效果和可读性):
for key in dict:
my_func(dict[key])
break
和
my_func(dict.keys()[0])
这让我想到了上述问题——python 在dicts 上的for 循环期间做了什么,特别是在引擎盖下?
【问题讨论】:
-
dict[key]和dict.keys()[0]一样吗?在 OP 中,dict[key]应该返回一个值,而dict.keys()[0]应该返回一个键 -
查看PEP 234中的迭代器协议
-
你是问还是说?由于
dicts是无序的,因此它们不会是相同的,如果是偶然或运气或其他原因的话。
标签: python python-3.x for-loop dictionary