Вы пробовали zip(*matrix)
? Это оставит вас с
[[x1, y1, z1, 1], [x2, y2, z2, 1], [x3, y3, z3, 1], ... ]
Но генерация списка, вероятно, все еще произойдет ...
Подождите (хлопает ладонью по лбу) ! Это должно сделать трюк:
zip(*matrix[:3])
В интерактивной оболочке:
>>> matrix = [[ 11, 12, 13, 14],
... [ 21, 22, 23, 24],
... [ 31, 32, 33, 34],
... [ 1, 1, 1, 1]]
>>> zip(*matrix[:3])
[(11, 21, 31), (12, 22, 32), (13, 23, 33), (14, 24, 34)]
>>>
Это список кортежей, но разве это имеет значение?