>>> for card in accusation: # или for card in accusation.keys():
... print(card)
...
room
weapon
person
Чтобы итерировать по значениям, а не по ключам, следует использовать функ-
цию values():
>>> for value in accusation.values():
... print(value)
...
ballroom
lead pipe
Col. Mustard
110
Глава 4. Корочка Python: структуры кода
Чтобы вернуть как ключ, так и значение кортежа, вы можете использовать
функцию items():
>>> for item in accusation.items():
... print(item)
...
('room', 'ballroom')
('weapon', 'lead pipe')
('person', 'Col. Mustard')
Помните, что можете присвоить значение кортежу за один шаг. Для каждого
кортежа, возвращенного функцией items(), присвойте первое значение (ключ)
переменной card, а второе (значение) — переменной contents:
>>> for card, contents in accusation.items():
... print('Card', card, 'has the contents', contents)
...
Card weapon has the contents lead pipe
Card person has the contents Col. Mustard
Card room has the contents ballroom
Прерываем цикл с помощью break
Ключевое слово break в цикле for прерывает этот цикл точно так же, как и цикл
while.
Пропускаем итерации с помощью continue
Добавление ключевого слова continue в цикл for позволяет перейти на следующую
итерацию цикла, как и в случае с циклом while.
Проверяем, завершился ли цикл заранее,
с помощью else
Как и в цикле while, в for имеется опциональный блок else, который проверяет,
выполнился ли цикл for полностью. Если ключевое слово break не было вызвано,
будет выполнен блок else.
Это полезно, если вам нужно убедиться в том, что предыдущий цикл выпол-
нился полностью, вместо того чтобы рано прерваться. Цикл for в следующем
примере выводит на экран название сыра и прерывается, если сыра в магазине
не найдется:
>>> cheeses = []