如何在 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 资源

通过相关的交互式教程、备忘单和代码比较来扩展您的知识。