python - 如何在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]])
解决方案
假设您的意思是对角线,使用枚举遍历列表,然后遍历子列表,并检查索引是否相等(这意味着您在对角线上),然后分配零,否则为当前值。
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]
推荐阅读
- python - 是否可以在仍然修改它的同时返回一个值?
- c# - 打开扩展名大写的文件时找不到 Pdftron 消息头(DOCX)
- azure - 为什么我没有使用虚拟机,但剩余的信用额度却在减少?
- c# - C# - 无法将转换 lambda 表达式转换为 listitem
- python - Python .exe 无法找到该文件,但 .py 正在按预期工作
- android - 为什么我的按钮没有显示在布局中?
- virtual-machine - 将摄像头连接到虚拟机 VMware Workstation 14
- angular - 导入 app.module.ts 中的所有组件重要吗?
- c# - 将“所有者”身份传递给相关模型的创建视图
- html - 如何在css中更改GIF动画图像的颜色