Я пытаюсь создать функцию транспонирования матрицы для python, но, похоже, мне не удается заставить ее работать. Скажи, что у меня есть
theArray = [['a','b','c'],['d','e','f'],['g','h','i']]
и я хочу, чтобы моя функция придумала
newArray = [['a','d','g'],['b','e','h'],['c', 'f', 'i']]
Другими словами, если бы я распечатал этот 2D-массив в виде столбцов и строк, я бы хотел, чтобы строки превратились в столбцы, а столбцы в строки.
Я сделал это до сих пор, но это не работает
def matrixTranspose(anArray):
transposed = [None]*len(anArray[0])
for t in range(len(anArray)):
for tt in range(len(anArray[t])):
transposed[t] = [None]*len(anArray)
transposed[t][tt] = anArray[tt][t]
print transposed
izip
fromitertools
может сэкономить память для больших массивов.