色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python矩陣維求和

錢浩然1年前7瀏覽0評論

在Python中,矩陣維求和是經常使用到的操作。矩陣是由多行、多列組成的二維數組。矩陣維求和指將某一維度上的所有元素相加。

# 例如,對于以下矩陣
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
# 如果要對第一維度求和,結果為 [12, 15, 18]
dim1_sum = [sum(row) for row in matrix]
print(dim1_sum)
# 如果要對第二維度求和,結果為 [6, 15, 24]
dim2_sum = [sum(col) for col in zip(*matrix)]
print(dim2_sum)

在第一段代碼中,使用列表推導式對矩陣的每一行求和,將結果存儲在一個列表中。在第二段代碼中,使用了一個小技巧:將矩陣進行轉置(使用zip函數),然后再對每一行求和。這樣就能夠方便地對第二維度進行求和。

需要注意的是,在實際應用中,矩陣的維度可能不止兩維。在這種情況下,需要對每一個維度都進行求和,可以使用遞歸函數實現。

def multi_dimensional_sum(matrix, axis):
if len(matrix) == 0:
return None
if axis == 0:
return [sum(row) for row in matrix]
else:
return [multi_dimensional_sum([row[i] for row in matrix], axis-1)
for i in range(len(matrix[0]))]
# 對于以下三維矩陣
matrix_3d = [[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]],
[[9, 10],
[11, 12]]]
# 對第一維度求和,結果為 [[4, 6], [12, 14], [20, 22]]
dim1_sum = multi_dimensional_sum(matrix_3d, 0)
print(dim1_sum)
# 對第二維度求和,結果為 [[4, 6], [12, 14]]
dim2_sum = multi_dimensional_sum(matrix_3d, 1)
print(dim2_sum)
# 對第三維度求和,結果為 [3, 11]
dim3_sum = multi_dimensional_sum(matrix_3d, 2)
print(dim3_sum)

在這段代碼中,定義了一個遞歸函數multi_dimensional_sum。當axis為0時,函數對第一維度求和,返回一個包含每一行和的列表;當axis不為0時,函數對矩陣的每一列遞歸調用multi_dimensional_sum,直到axis為0。

通過以上方法,可以方便地對任意維度的矩陣進行求和操作。