在Python中轉(zhuǎn)置矩陣我試圖在Python中創(chuàng)建一個(gè)矩陣轉(zhuǎn)置函數(shù)。矩陣是一個(gè)二維數(shù)組,表示為整數(shù)列表。例如,下面是一個(gè)2X3矩陣(即矩陣的高度為2,寬度為3):A=[[1, 2, 3],
[4, 5, 6]]要將索引中的JTH項(xiàng)轉(zhuǎn)置,應(yīng)將其轉(zhuǎn)化為JTH索引中的第一項(xiàng)。下面是上面的示例的換位方式:>>> transpose([[1, 2, 3],
[4, 5, 6]])[[1, 4],[2, 5],[3, 6]]>>> transpose([[1, 2],
[3, 4]])[[1, 3],[2, 4]]我該怎么做?
3 回答

嚕嚕噠
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
zip
*
>>> A = [[ 1, 2, 3],[ 4, 5, 6]]>>> zip(*A)[(1, 4), (2, 5), (3, 6)]>>> lis = [[1,2,3], ... [4,5,6],... [7,8,9]]>>> zip(*lis)[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
>>> [list(x) for x in zip(*lis)][[1, 4, 7], [2, 5, 8], [3, 6, 9]]#or>>> map(list, zip(*lis))[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

汪汪一只貓
TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
import numpy as np a = np.array([(1,2,3), (4,5,6)])b = a.transpose()

Helenr
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
return [[ m[row][col] for col in range(0,width) ] for row in range(0,height) ]
[[1,2,3],[4,5,6],[7,8,9]]
[[1,4,7],[2,5,8],[3,6,9]]
return [[ m[row][col] for row in range(0,height) ] for col in range(0,width) ]
添加回答
舉報(bào)
0/150
提交
取消