如何在 Python 中迭代字典(键、值和项)
了解如何循环或迭代 Python 字典。通过干净、可运行的示例发现循环键、值和键值对的方法。
概述
迭代字典是 Python 编程中的一项基本任务,因为字典广泛用于存储键值数据,例如数据库记录、API 负载和配置设置。 Python 提供了几种直观的内置方法来遍历字典,具体取决于您是否需要键、值或两者。理解这些方法对于编写干净、高效和可读的代码至关重要。
同时迭代键和值的最常见方法是使用“.items()”方法。此方法返回一个包含键值对元组的视图对象,可以直接在“for”循环语句中轻松解包该对象。这通常比手动迭代键和查找值更可取,因为它更具可读性且更高效。
如果您只需要键,则可以直接循环字典本身或显式使用“.keys()”方法。为了仅迭代值,Python 提供了“.values()”方法。这两个视图对象都是动态的,反映对字典所做的任何更改,并支持使用“in”运算符进行成员资格测试。
代码和执行输出
此代码演示了迭代字典键、值和键值对。
iterate_dict.py
在编辑器中尝试user = {"username": "alice", "role": "admin", "active": "True"}
# 1. Iterate over keys and values using items()
print("--- Keys and Values ---")
for key, value in user.items():
print(f"{key}: {value}")
# 2. Iterate over keys only (default behavior)
print("\n--- Keys Only ---")
for key in user:
print("Key:", key)
# 3. Iterate over values only
print("\n--- Values Only ---")
for val in user.values():
print("Value:", val)端子输出
--- Keys and Values ---
username: alice
role: admin
active: True
--- Keys Only ---
Key: username
Key: role
Key: active
--- Values Only ---
Value: alice
Value: admin
Value: True逐步实施
- 在 for 循环中使用 user.items() 可同时提取和解包键和值。
- 直接循环字典(或调用 .keys())以仅迭代键。
- 使用 .values() 来隔离和迭代字典的值。
常见问题解答
迭代字典时是否保留插入顺序?
是的,从Python 3.7+ 开始,字典保证保持键的插入顺序。
您可以在迭代字典时修改它吗?
不,在迭代期间修改键(添加或删除)将引发运行时错误。改为修改键或值的副本。
相关主题
推荐的 Python 资源
通过相关的交互式教程、备忘单和代码比较来扩展您的知识。