Как перебирать словарь в Python (ключи, значения и элементы)

Узнайте, как выполнять цикл или перебирать словарь Python. Откройте для себя методы перебора ключей, значений и пар «ключ-значение» с помощью понятных и работоспособных примеров.

Попробуйте это решение в редакторе

Обзор

Перебор словарей является фундаментальной задачей в программировании на Python, поскольку словари широко используются для хранения данных «ключ-значение», таких как записи базы данных, полезные данные API и параметры конфигурации. Python предоставляет несколько интуитивно понятных встроенных методов для перемещения по словарям в зависимости от того, нужны ли вам ключи, значения или и то, и другое. Понимание этих методов имеет решающее значение для написания чистого, эффективного и читаемого кода.

Самый распространенный способ одновременного прохода по ключам и значениям — использование метода `.items()`. Этот метод возвращает объект представления, содержащий кортежи пар ключ-значение, которые можно легко распаковать непосредственно внутри оператора цикла for. Обычно это предпочтительнее, чем перебирать ключи и искать значения вручную, поскольку это более читабельно и более эффективно.

Если вам нужны только ключи, вы можете выполнить цикл непосредственно по самому словарю или явно использовать метод `.keys()`. Для перебора только значений Python предоставляет метод `.values()`. Оба этих объекта представления являются динамическими, отражают любые изменения, внесенные в словарь, и поддерживают проверку членства с помощью оператора in.

Код и вывод выполнения

Этот код демонстрирует перебор ключей, значений и пар ключ-значение словаря.

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

Пошаговая реализация

  • Используйте user.items() в цикле for для одновременного извлечения и распаковки ключей и значений.
  • Выполните цикл непосредственно по словарю (или вызовите .keys()), чтобы перебирать только ключи.
  • Используйте .values() для изоляции и перебора значений словаря.

Часто задаваемые вопросы

Сохраняется ли порядок вставки при переборе словаря?

Да, начиная сPython 3.7+, словари гарантированно поддерживают порядок вставки ключей.

Можете ли вы изменить словарь, перебирая его?

Нет, изменение ключей (добавление или удаление) во время итерации приведет к возникновению ошибки RuntimeError. Вместо этого измените копию ключей или значений.

Связанные темы

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.