К книге
Язык программирования PythonЛекция #3: Элементы функционального программирования.. Обработка последовательностей. Списковые включения
27%
Лекция #3: Элементы функционального программирования.. Обработка последовательностей. Списковые включения
62

Для более естественной записи обработки списков в Python 2 была внесена новинка: списковые включения. Фактически это специальный сокращенный синтаксис для вложенных циклов for и условий if, на самом низком уровне которых определенное выражение добавляется к списку, например:

all_pairs = []

for i in range(5):

 for j in range(5):

  if i <= j:

   all_pairs.append((i, j))

Все это можно записать в виде спискового включения так:

all_pairs = [(i, j) for i in range(5) for j in range(5) if i <= j]

Как легко заметить, списковые включения позволяют заменить map() и filter() на более удобные для прочтения конструкции.

В следующей таблице приведены эквивалентные выражения в разных формах:

Предыдущая главаГлава 62 из 230Следующая глава