Выравнивание матрицы по заданным c размерам мини матриц - PullRequest
1 голос
/ 27 февраля 2020

Я хочу сгладить матрицу M на N в python.

H = [[1,3,0,1],[6,5,4,8],[1,1,1,1],[3,2,0,0]]

. Для этого мне нужно выбрать размер окна s на t, сначала сгладить, что windows, и двигаться вперед с помощью процедура, пока моя windows не покроет всю матрицу M by N.

Допустим, мои s и t равны 2. Итак, я хочу получить:

H_flat = [1,3,6,5,0,1,4,8,1,1,3,2,1,1,0,0]

Есть ли быстрый способ сделать это просто al oop или без l oop?

1 Ответ

1 голос
/ 27 февраля 2020

Попробуйте:

res = []
for i in range(0, len(m), 2):
    res.extend(m[i][:2] + m[i + 1][:2] + m[i][2:] + m[i +1][2:])
print(res)
# [1, 3, 6, 5, 0, 1, 4, 8, 1, 1, 3, 2, 1, 1, 0, 0]
...