第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Python中轉(zhuǎn)置矩陣

在Python中轉(zhuǎn)置矩陣

回首憶惘然 2019-07-20 14:25:17
在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帶著*使矩陣轉(zhuǎn)置:

>>> 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]]


查看完整回答
反對(duì) 回復(fù) 2019-07-20
?
汪汪一只貓

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊

是否因懶惰和使用NumPy數(shù)組的轉(zhuǎn)置功能而獲獎(jiǎng)?

import numpy as np

a = np.array([(1,2,3), (4,5,6)])b = a.transpose()


查看完整回答
反對(duì) 回復(fù) 2019-07-20
?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

如果我們想返回相同的矩陣,我們會(huì)寫:

return [[ m[row][col] for col in range(0,width) ] for row in range(0,height) ]

這樣做是通過遍歷每一行并返回每個(gè)列中的每個(gè)元素來迭代矩陣m。所以命令應(yīng)該是:

[[1,2,3],[4,5,6],[7,8,9]]

現(xiàn)在,對(duì)于問題3,我們希望逐列,返回每一行中的每個(gè)元素。所以命令應(yīng)該是:

[[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) ]


查看完整回答
反對(duì) 回復(fù) 2019-07-20
  • 3 回答
  • 0 關(guān)注
  • 1565 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)