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

В сети

Пользователей: 99
Из них просматривают:
Аналоги: 33. Даташиты: 10. Инструкции: 4. Новости: 25. Остальное: 6. Ошибки: 2. Программы: 2. Теги: 1. Торрент: 1. Форум: 10. Чат: 5.
Участников: 7
Гостей: 92

an , KT315 , alex01981 , Google , grom , wolf170571 , Яндекс , далее...
Рекорд 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]

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

Разное

Диэлектрические и диамагнитные отвертки можно выпилить из старых стеклотекстолитовых плат.

Интересно

Пайка алюминия и его сплавов.

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