Module (96%)
Section (86%)

Основные тезисы


1. Генераторы списков позволяют кратко и элегантно создавать новые списки из существующих. Синтаксис генератора списка выглядит следующим образом:

[expression for element in list if conditional]

который фактически является эквивалентом следующего кода:

for element in list: if conditional: expression

Вот пример генератора списка - код создает список из пяти элементов, заполненный первыми пятью натуральными числами, возведенными в степень 3:

cubed = [num ** 3 for num in range(5)] print(cubed) # outputs: [0, 1, 8, 27, 64]

2. Вы можете использовать вложенные списки в Python для создания матриц (т.е. двумерных списков). Например:

Table - a two-dimensional array

# A four-column/four-row table ‒ a two dimensional array (4x4) table = [[":(", ":)", ":(", ":)"], [":)", ":(", ":)", ":)"], [":(", ":)", ":)", ":("], [":)", ":)", ":)", ":("]] print(table) print(table[0][0]) # outputs: ':(' print(table[0][3]) # outputs: ':)'


3. Вы можете вкладывать в списки столько списков, сколько захотите, тем самым создавая n-мерные списки, например, трех-, четырех- или даже шестидесяти четырехмерные массивы. Например:

Cube - a three-dimensional array

# Cube - a three-dimensional array (3x3x3) cube = [[[':(', 'x', 'x'], [':)', 'x', 'x'], [':(', 'x', 'x']], [[':)', 'x', 'x'], [':(', 'x', 'x'], [':)', 'x', 'x']], [[':(', 'x', 'x'], [':)', 'x', 'x'], [':)', 'x', 'x']]] print(cube) print(cube[0][0][0]) # outputs: ':(' print(cube[2][2][0]) # outputs: ':)'