我有一个二维矩阵,它可以是任何大小,但总是一个正方形。我想遍历矩阵并为每个对角线元素(示例中的 x
)分配值 1-sum_of_all_other_values_in_the_row
例如
Mtx = [[ x ,.2 , 0 ,.2,.2]
[ 0 , x ,.4 ,.2,.2]
[.2 ,.2 , x , 0, 0]
[ 0 , 0 ,.2 , x,.2]
[ 0 , 0 , 0 , 0, x]]
for i in enumerate(Mtx):
for j in enumerate(Mtx):
if Mtx[i][j] == 'x'
Mtx[i][j] = 1-sum of all other [j]'s in the row
我不知道如何获得每行中 j 的总和
最佳答案
for i,row in enumerate(Mtx): #same thing as `for i in range(len(Mtx)):`
Mtx[i][i]=0
Mtx[i][i]=1-sum(Mtx[i])
##could also use (if it makes more sense to you):
#row[i]=0
#Mtx[i][i]=1-sum(row)
关于python - 用其他元素的总和分配一个列表元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11439213/