如何在Python中遍历字典并同时访问键与值?
在Python中同时遍历字典键与值的最优实现
核心方案:使用items()方法
这是最符合Python风格(Pythonic)且高效的方式,items()会返回一个动态的键值对视图对象,迭代时无需额外内存开销,直接同时获取键和值。
代码示例
# 示例字典 user_info = {"username": "johndoe", "email": "john@example.com", "score": 95} # 遍历并处理键值对 for key, value in user_info.items(): # 示例操作1:打印键值对 print(f"[{key}]: {value}") # 示例操作2:针对数值类型的值做累加 if isinstance(value, int): user_info[key] = value + 5
关键细节
- Python 3兼容性:
items()返回的是视图对象,会实时反映字典的修改,且不会一次性加载所有键值对到内存,处理大字典时更高效。 - Python 2注意:在Python 2中
items()会返回完整的键值对列表,此时推荐使用iteritems()来生成迭代器,减少内存占用(Python 3已废弃iteritems(),统一用items())。
不推荐的写法
不要先遍历键再通过键取值,虽然字典查找是O(1)复杂度,但多了一次冗余操作,代码也不够简洁:
# 不推荐的写法 for key in user_info: value = user_info[key] # 后续操作...
扩展场景
如果只需要遍历键或值,可分别使用keys()或values()方法,但针对你的需求(同时访问键和值),items()是最优解。
内容的提问来源于stack exchange,提问作者Alisabrljak
相关产品推荐
相关产品推荐

