Разделы инструкций

В сети

Пользователей: 105
Из них просматривают:
Аналоги: 37. Даташиты: 28. Инструкции: 1. Новости: 11. Остальное: 3. Ошибки: 1. Форум: 24.
Участников: 2
Гостей: 103

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Оглавление

5.3. Дополнительные возможности при конструировании списков

Начиная с версии 2.0, языка Python, существуют дополнительные возможности конструирования списков, не прибегая к средствам функционального программирования. Такие определения списков записываются с использованием в квадратных скобках выражения и следующих за ним блоков for:

 

>>> freshfruit = [' banana', ' loganberry ', 'passion fruit ']
>>> [weapon.strip() for weapon in freshfruit]
['banana', 'loganberry', 'passion fruit']
>>> vec = [2, 4, 6]
>>> [3*x for x in vec]
[6, 12, 18]
>>> [{x: x**2} for x in vec]
[{2: 4}, {4: 16}, {6: 36}]
>>> [[x,x**2] for x in vec]
[[2, 4], [4, 16], [6, 36]]

 

Элементы можно фильтровать, указав условие, записываемое с помощью ключевого слова if:

 

>>> [3*x for x in vec if x > 3]
[12, 18]
>>> [3*x for x in vec if x < 2]
[]

 

Выражение, дающее кортеж, обязательно должно быть записано в скобках:

 

>>> [x, x**2 for x in vec]
  File "<stdin>", line 1
    [x, x**2 for x in vec]
               ^
SyntaxError: invalid syntax
>>> [(x, x**2) for x in vec]
[(2, 4), (4, 16), (6, 36)]

 

Если в конструкторе указано несколько блоков for, элементы второй последовательности перебираются для каждого элемента первой и т.д., то есть перебираются все комбинации:

 

>>> vec1 = [2, 4, 6]
>>> vec2 = [4, 3, -9]
>>> [x*y for x in vec1 for y in vec2]
[8, 6, -18, 16, 12, -36, 24, 18, -54]
>>> [x+y for x in vec1 for y in vec2]
[6, 5, -7, 8, 7, -5, 10, 9, -3]

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити

Разное

Вместо высоковольтного провода можно использовать обычный, пропустив его через трубку от капельницы.

Интересно

Во время ремонта телевизора не ставьте настольную лампу на его корпус.
Она обязательно упадёт и отобьёт горловину кинескопа.

Похожие инструкции