Python对字典键值执行列表操作 直接遍历字典报错如何解决
问题原因
Python字典的默认迭代规则是仅遍历字典的键,不会自动返回(键, 值)格式的元组。你编写的for k, v in dictionary逻辑,本质是尝试把单个键元素解包为2个独立变量,和字典的迭代逻辑不匹配,因此触发报错,并非字典完全无法执行循环操作。
修复方案
根据你的遍历需求,选择字典对应的内置迭代方法即可:
- 需同时遍历键和值时,调用
items()方法,该方法返回由所有键值对组成的可迭代对象,可直接解包为k、v两个变量,完全匹配你的需求:
for k, v in dictionary.items(): print(f"{k}, {v}")
- 仅需遍历字典的键时,可直接遍历字典对象,也可显式调用
keys()方法,两种写法效果完全一致:
# 写法1 for k in dictionary: print(k) # 写法2 for k in dictionary.keys(): print(k)
- 仅需遍历字典的值时,调用
values()方法即可:
for v in dictionary.values(): print(v)
内容的提问来源于stack exchange,提问作者farhan reza
相关产品推荐
相关产品推荐

