Обход словаря циклом for

В этом примере посмотрим, как пройтись по словарю циклом for и получить ключи и значения. Покажем четыре способа: через items(), без него, через старый iteritems() для Python 2 и через раздельные keys() / values().

Что нужно знать

Перед изучением примера полезно понимать:

Пример 1. Ключ и значение через items()

dt = {'a': 'juice', 'b': 'grill', 'c': 'corn'}

for key, value in dt.items():
    print(key, value)

Вывод

a juice
b grill
c corn
  • В заголовке цикла указываем две переменные — key и value — для итерируемого объекта dt.items(). Метод items() возвращает пары «ключ : значение».

  • Печатаем key и value.

Пример 2. Ключ и значение без items()

dt = {'a': 'juice', 'b': 'grill', 'c': 'corn'}

for key in dt:
    print(key, dt[key])

Вывод

a juice
b grill
c corn
  • Циклом for пробегаем по словарю — переменная key принимает значения ключей.

  • Выводим ключ и значение по этому ключу — dt[key].

Совет

Более «питоничный» способ — вариант из примера 1.

Пример 3. Через iteritems() (только Python 2)

dt = {'a': 'juice', 'b': 'grill', 'c': 'corn'}

for key, value in dt.iteritems():
    print(key, value)

Вывод

a juice
b grill
c corn

Этот вариант работает только в Python 2.

В Python 2 вместо items() использовался iteritems().

Пример 4. Только ключи или только значения

dt = {'a': 'juice', 'b': 'grill', 'c': 'corn'}

for key in dt.keys():
    print(key)

for value in dt.values():
    print(value)

Вывод

a
b
c
juice
grill
corn

Если нужны только ключи или только значения — используй методы keys() и values() соответственно.