首页 > 解决方案 > 如何在python中将矩阵的直径转换为零?

问题描述

我有一个矩阵,我想在 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]])

标签: pythonnumpymatrix

解决方案


假设您的意思是对角线,使用枚举遍历列表,然后遍历子列表,并检查索引是否相等(这意味着您在对角线上),然后分配零,否则为当前值。

mydata = [[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]]

for i,l in enumerate(mydata):
    l[i]=0

[0, 2, 3, 4]
[5, 0, 7, 8]   
[9, 10, 0, 12] 
[13, 14, 15, 0]

推荐阅读