Получить список точек для построения квадртатов

Никак не могу что то сообразить. Есть список точек (X,Y). которые образуют некую сетку.

points = [ (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (2, 4), (4, 0), (4, 2), (4, 4) ]

Список точек

Мне необходимо из этих точек получить список точек, которые образуют квадрат. Т.е. на выходе я пытаюсь получить такой формат:

rectList = [[(0, 0), (0, 2), (2, 0), (2, 2)], [(0, 2), (0, 4),(2, 2), (2, 4)], [(2, 0), (2, 2), (4, 0), (4, 2)]]

Вот такие квадраты мне необходимо получить(цветом выделил, чтобы было более наглядно):

Список квадратов


Ответы (1 шт):

Автор решения: MBo

Просто обходите по строкам и по столбцам

n = 3
rectList = []
points = [ (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (2, 4), (4, 0), (4, 2), (4, 4) ]
for i in range(n-1):
    for j in range(n-1):
        rectList.append([points[i * n + j], points[i * n + j + 1], points[(i + 1) * n + j + 1], points[(i + 1) * n + j]])
print(rectList)
→ Ссылка