← Все вопросы

Как перебрать словарь в цикле — по ключам, значениям и парам?

Задан 17 месяцев назад941 просмотров3 ответа
17

Есть словарь d = {'a': 1, 'b': 2}. Запутался, как правильно по нему пройтись. Когда нужны только ключи, когда значения, а когда и то и то сразу?

3 ответа

28
✓ Принятый ответ — помог автору

Три варианта под три задачи:

d = {'a': 1, 'b': 2}

for k in d:            # по ключам (то же, что d.keys())
    print(k)

for v in d.values():  # по значениям
    print(v)

for k, v in d.items():  # по парам ключ-значение
    print(k, v)

Простой for x in d идёт именно по ключам — это самая частая ошибка, когда ждут значения. Если нужны и ключ, и значение — почти всегда хочется .items().

jen skor вот про `for x in d` по ключам — реально путался, спасибо 🙏 · 17 месяцев назад
Сергей Яковлев автор: то что надо · 17 месяцев назад
6

.items() для пар, .values() для значений, по ключам — просто for k in d.

4

Порядок при переборе — это порядок вставки (Python 3.7+), так что перебор предсказуемый, не как раньше.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект