При работе с двумерными списками также можно перебирать объекты с помощью списковых включений.
grid = [
[10, 20, 30],
[40, 50, 60],
]
squared = [[i * i for i in row] for row in grid]
print(squared)
# [[100, 400, 900], [1600, 2500, 3600]]
Здесь внешний цикл проходит по grid построчно. Затем мы перебираем каждый элемент в строке.
Если мы не хотим получить двумерный список в результате, мы можем уплотнить grid, опустив внутренние скобки и переместив for i in row из внутреннего цикла. Сначала мы перебираем grid с помощью for row in grid, а затем for i in row:
grid = [
[10, 20, 30],
[40, 50, 60],
]
squared = [i * i for row in grid for i in row]
print(squared)
# [100, 400, 900, 1600, 2500, 3600]
Задание
Можете ли вы с помощью спискового включения вывести все координаты шахматной доски?
Номера идут от 1 до 8, а буквы — A B C D E F G H. Нумерация выглядит как A1 B1 C1 ... H1, следующая строка — A2 B2 C2 ... H2 и так далее. Выведите каждую строку отдельно.