Быстрым и простым способом было бы сделать это в Numpy, поскольку вы можете просто перенести массив с помощью T
и затем flatten()
в 1D-массив.
import numpy as np
x = np.array([ [1, 2, 3, 4 118, 119, 120],
[2, 3, 4, 5, 119, 120, 121],
[3, 4, 5, 6, 120, 121, 122],
[4, 5, 6, 7, 121, 122, 123] ] )
print(x.T.flatten())
дает
array([ 1, 2, 3, 4, 2, 3, 4, 5, 3, 4, 5, 6, 4,
5, 6, 7, 118, 119, 120, 121, 119, 120, 121, 122, 120, 121,
122, 123])
Если бы вы хотели, чтобы это был список, а не массив, это было бы x.T.flatten().tolist()
Для решения, отличного от Numpy, вы можете использовать это:
[inner for outer in zip(*x) for inner in outer]
, который возвращает тот же вывод, что и выше.