У меня есть двумерный массив, представляющий серию значений строк в таблице, показанной ниже:
[
["5","3",".",".","7",".",".",".","."],
["6",".",".","1","9","5",".",".","."],
[".","9","8",".",".",".",".","6","."],
["8",".",".",".","6",".",".",".","3"],
["4",".",".","8",".","3",".",".","1"],
["7",".",".",".","2",".",".",".","6"],
[".","6",".",".",".",".","2","8","."],
[".",".",".","4","1","9",".",".","5"],
[".",".",".",".","8",".",".","7","9"]
]
Мне нужно было получить значения столбцов из того же списка, и я смог сделать это с помощью
map(list, zip(*arr))
and got this:
[
['5', '6', '.', '8', '4', '7', '.', '.', '.'],
['3', '.', '9', '.', '.', '.', '6', '.', '.'],
['.', '.', '8', '.', '.', '.', '.', '.', '.'],
['.', '1', '.', '.', '8', '.', '.', '4', '.'],
['7', '9', '.', '6', '.', '2', '.', '1', '8'],
['.', '5', '.', '.', '3', '.', '.', '9', '.'],
['.', '.', '.', '.', '.', '.', '2', '.', '.'],
['.', '.', '6', '.', '.', '.', '8', '.', '7'],
['.', '.', '.', '3', '1', '6', '.', '5', '9']
]
Теперь мне нужно создать похожий двумерный массив, который содержит 3 х 3 элемента сетки, и результат должен выглядеть примерно так:
[
['5','3','.','6','.','.','.','9','8'],
['.','7','.','1','9','5','.','.','.'],
['.','.','.','.','.','.','.','6','.'],
['8','.','.','4','.','.','7','.','.'],
['.','6','.','8','.','3','.','2','.'],
['.','.','3','.','.','1','.','.','6'],
['.','6','.','.','.','.','.','.','.'],
['.','.','.','4','1','9','.','8','.'],
['2','8','.','.','.','5','.','7','9']
]
Я попытался объединить 3 элемента и повторить3 ряда, но я ничего не получил
x = 3
for i in range(x):
map(list, zip(*arr)[0,1,2])
x += 3