Nested list comprehensions
Помните основной синтаксис list comprehensions?
[ expression for item in list if conditional ]
Если
expression может быть любым валидным выражением Python, оно также может быть и другим list comprehension. Это полезно, когда необходимо создать матрицу:
>>> [[j for j in range(3)] for i in range(4)]
[[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]
Или, если хотите «разгладить» предыдущую матрицу:
>>> [value
for sublist in m
for value in sublist]
[0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]
Первая часть цикла по матрице m, а вторая – цикл по элементам каждого вектора.
#tips | Python_Teacher