ฉันกำลังพยายามสร้างฟังก์ชั่นทรานสดิวเซอร์เมทริกซ์สำหรับไพ ธ อน แต่ฉันไม่สามารถใช้งานได้ บอกว่าฉันมี
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
จากitertools
สามารถบันทึกหน่วยความจำสำหรับอาร์เรย์ขนาดใหญ่