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

>>> french = 'Lundi', 'Mardi', 'Mercredi'

Теперь используем функцию zip(), чтобы объединить эти кортежи в пару. Зна-

чение, возвращаемое функцией zip(), само по себе не является списком или кор-

тежем, но его можно преобразовать в любую из этих последовательностей:

>>> list(zip(english, french))

[('Monday', 'Lundi'), ('Tuesday', 'Mardi'), ('Wednesday', 'Mercredi')]

Передайте результат работы функции zip() непосредственно функции dict() —

и у нас готов небольшой англо-французский словарь!

>>> dict(zip(english, french))

{'Monday': 'Lundi', 'Tuesday': 'Mardi', 'Wednesday': 'Mercredi'}

Генерирование числовых последовательностей

с помощью функции range()

Функция range() возвращает поток чисел в заданном диапазоне без необходимо-

сти создавать и сохранять крупную структуру данных вроде списка или кортежа.

Это позволяет вам создавать большие диапазоны, не использовав всю память ком-

пьютера и не обрушив программу.

Вы можете применять функцию range() аналогично slice(): range(start, stop,

step). Если опустите значение start, диапазон начнется с 0. Необходимым явля-

ется лишь значение stop: как и в случае со slice(), оно определяет последнее зна-

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

чанию step равно 1, но вы можете изменить его на -1.

Как и zip(), функция range() возвращает итерабельный объект, поэтому вам

нужно пройти по значениям с помощью конструкции for … in или преобразовать

объект в последовательность вроде списка. Создадим диапазон 0, 1, 2:

>>> for x in range(0,3):

... print(x)

...

0

1

2

>>> list(range(0, 3))

[0, 1, 2]

Вот так можно создать диапазон от 2 до 0:

>>> for x in range(2, -1, -1):

... print(x)

Включения

113

...

2

1

0

>>> list(range(2, -1, -1))

[2, 1, 0]

В следующем фрагменте кода используется шаг 2, чтобы получить все четные

числа от 0 до 10:

>>> list(range(0, 11, 2))

[0, 2, 4, 6, 8, 10]

Прочие итераторы

В главе 8 рассматривается итерирование по файлам. В главе 6 вы сможете увидеть,

как использовать итерирование для объектов, которые сами определили.