在Python中遍历字典时,为什么必须调用.items()?

在Python中遍历字典时,为什么必须调用.items()?,第1张

在Python中遍历字典时,为什么必须调用.items()?

对于每个python容器C,期望是

for item in C:    assert item in C

会顺利通过-如果一种感觉(循环子句)与另一种感觉(存在检查)完全不同, 会不会感到惊讶

in
?我一定会的!它自然适用于列表,集合,元组,…

因此,当

C
是一个字典时,如果
in
for
循环生成键/值元组,则根据最小惊讶的原理,
in
还必须在容纳检查中采用这样的元组作为其左侧 *** 作数。

那会有用吗?好看不中用的确,基本上做

if (key, value) in C
的代名词
if C.get(key) ==value
-这是一张支票,我相信我可能已经执行,或要执行,100倍以上的很少比
if k in C
实际 手段 ,检查钥匙的存在 唯一
,完全无视值。

另一方面,只在键上循环很常见,例如:

for k in thedict:    thedict[k] += 1

拥有价值也无济于事:

for k, v in thedict.items():    thedict[k] = v + 1

实际上有点不太清晰和简洁。(请注意,这

items
是用于获取键/值对的“正确”方法的原始拼写:不幸的是,这是在此类访问器返回整个列表的时代,因此,为了支持“公正迭代”,必须引入替代拼写,并且
iteritems

在-Python 3中,与以前的Python版本的向后兼容性约束被大大削弱,并且
items
再次出现。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5645143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存