我有一個矩陣,我想在 python 中將直徑值轉換為零。你能幫助我嗎?
矩陣:
array([[1, 0, 0, ..., 1, 0, 0],
[0, 1, 0, ..., 0, 0, 0],
[0, 0, 1, ..., 0, 0, 0],
...,
[1, 0, 0, ..., 1, 0, 0],
[0, 0, 0, ..., 0, 1, 0],
[0, 0, 0, ..., 0, 0, 1]])
uj5u.com熱心網友回復:
假設您的意思是對角線,請使用 enumerate 遍歷串列,然后遍歷子串列,并檢查索引是否相等(這意味著您在對角線上),然后分配零,否則分配當前值。
mydata = [[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]]
out=[]
for i,l in enumerate(mydata):
n=[]
for j,v in enumerate(l):
if i==j:
n.append(0)
else:
n.append(v)
out.append(n)
for x in out:
print(x)
[0, 2, 3, 4]
[5, 0, 7, 8]
[9, 10, 0, 12]
[13, 14, 15, 0]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/334209.html
下一篇:Numpy陣列索引與另一個矩陣
