Предположим, у меня есть сетка n x n
, и я хочу функцию, которая генерирует список всех столбцов и строк, принимая n
в качестве входных данных в python. Под списком столбцов я подразумеваю, что каждый столбец представлен в виде своего собственного списка, причем элементы являются координатами элементов в столбце. (Или каждый столбец может быть набором координат, который тоже будет работать)
Я мог бы сделать это, используя два понимания списка,
x = [[ (i, j) for j in range(n)] for i in range(n)] + [[ (i, j) for i in range(n)] for j in range(n)]
С n=3
это создает список с 9элементы, каждый из которых представляет собой список из 3 координат.
x = [[(0, 0), (0, 1), (0, 2)], [(1, 0), (1, 1), (1, 2)], [(2, 0), (2, 1), (2, 2)], [(0, 0), (1, 0), (2, 0)], [(0, 1), (1, 1), (2, 1)], [(0, 2), (1, 2), (2, 2)]]
Мне было интересно, есть ли более чистый способ сделать то же самое, возможно, с помощью itertools или аналогичного модуля.