python任意矩陣,求轉置

2021-10-04 02:46:51 字數 1409 閱讀 2374

掃瞄第一行,在tm的第一列從上至下附加,然後再第二列附加

舉例:掃瞄第一行1,2,3,加入到tm的第一列,然後掃瞄第二行4,5,6,追加到tm的第二列

過程演示:

#定義乙個矩陣,不考慮稀疏矩陣

# 1 2 3 1 4

# 4 5 6 ==>> 2 5

# 3 6

#任意矩陣轉置

import datetime

start = datetime.datetime.now()

matrix = [[1,2,3],[4,5,6]]

tm =

count = 0

for row in matrix:

for i,col in enumerate(row):

if len(tm) < i + 1: # matrix有i列就要為tm建立i行

count += 1

delta = (datetime.datetime.now()-start).total_seconds()

print(matrix)

print(tm)

print(count)

print(delta)

一次性開闢目標元素的記憶體空間,原矩陣元素直接移動到轉置矩陣的對稱座標即可

資料量大時此方法效率高

#在原矩陣上改動牽扯到增加、減少元素,所以定義乙個新矩陣

start = datetime.datetime.now()

matrix = [[1,2,3],[4,5,6]]

tm = [[0 for col in range(len(matrix))] for row in range(len(matrix[0]))]

#tm相當於:

# for row in range(len(matrix[0])): #原矩陣有多少列

# for col in range(len(matrix)): #原矩陣有多少行

count = 0

for i,row in enumerate(tm):

for j,col in enumerate(row):

tm[i][j] = matrix[j][i] #將matrix中所有元素搬到tm中

count += 1

delta = (datetime.datetime.now()-start).total_seconds()

print(matrix)

print(tm)

print(count)

print(delta)

Python求轉置矩陣

02.題目二 轉置2 3矩陣 03.解析 寫在最後的話 這裡是一段防爬蟲文字,請讀者忽略。本文原創首發於csdn,作者idys 部落格首頁 矩陣存放於列表當中 根據3 3矩陣中列表的長度,開闢出同樣長度列表,列表中存放的同樣是列表 將原來列表的元素依次存放於每個列表中 import copy def...

求轉置矩陣問題

描述 求乙個三行三列的轉置矩陣。輸入第一行乙個整數n 20,表示有n組測試資料,下面是n組資料 每組測試資料是九個整型數 每個數都不大於10000 分別為矩陣的的每項 輸出每組測試資料的轉置矩陣 請在每組輸出之後加乙個換行 樣例輸入 21 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 ...

Python 矩陣轉置

在讀時,會用到這麼的一段 image vector len np.prod image size 總元素大小,3 55 47 img image.open path arr img np.asarray img,dtype float64 arr img arr img.transpose 2,0,...