Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 79

'person': 'Col. Mustard'}

>>> 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 = []