Мне нужно создать матрицу кортежей 9x9. У меня уже есть код:
squares, sub = [], []
for y in [3, 6, 9]:
sub.append([[(y, x) for x in range(1, 10) if x % 3 == 0] for x in range(1, 10) if x % 3 == 0])
for i in sub:
sq = []
for j in i:
sq.extend(j)
sq.sort()
squares.append(sq)
squares.append(sq)
squares.append(sq)
с таким результатом:
[[(3, 3), (3, 3), (3, 3), (3, 6), (3, 6), (3, 6), (3, 9), (3, 9), (3, 9)],
[(3, 3), (3, 3), (3, 3), (3, 6), (3, 6), (3, 6), (3, 9), (3, 9), (3, 9)],
[(3, 3), (3, 3), (3, 3), (3, 6), (3, 6), (3, 6), (3, 9), (3, 9), (3, 9)],
[(6, 3), (6, 3), (6, 3), (6, 6), (6, 6), (6, 6), (6, 9), (6, 9), (6, 9)],
[(6, 3), (6, 3), (6, 3), (6, 6), (6, 6), (6, 6), (6, 9), (6, 9), (6, 9)],
[(6, 3), (6, 3), (6, 3), (6, 6), (6, 6), (6, 6), (6, 9), (6, 9), (6, 9)],
[(9, 3), (9, 3), (9, 3), (9, 6), (9, 6), (9, 6), (9, 9), (9, 9), (9, 9)],
[(9, 3), (9, 3), (9, 3), (9, 6), (9, 6), (9, 6), (9, 9), (9, 9), (9, 9)],
[(9, 3), (9, 3), (9, 3), (9, 6), (9, 6), (9, 6), (9, 9), (9, 9), (9, 9)]]
Результат в точности такой, как я хочу, но как вы думаете, есть способ лучше его написать? ? Можно ли сделать проще?
Редактировать:
Результат всегда должен быть идентичным, нет никакого ввода Dynami c, и он не будет редактироваться впоследствии. Просто матрица stati c, используемая в другой части моего кода.