python - 将单位矩阵嵌套在另一个更大的矩阵中
问题描述
我正在尝试创建一个 NxN 矩阵,它在左下角的条目上有一个 1,然后在右上角有一个 (N-1) 单位矩阵。我已经尝试了所有我能想到的方法,但似乎无法做到这一点,但我对 python 还是很陌生,有没有办法做到这一点?
解决方案
最简单的numpy:
>>> import numpy as np
>>> N = 4
>>> np.roll(np.identity(N), 1, axis=1)
array([[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.],
[1., 0., 0., 0.]])
使用香草蟒:
>>> N = 4
>>> matrix = [[0]*N for _ in range(N)]
>>> for i in range(N):
matrix[i][(i+1)%N] = 1
>>> matrix
[[0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [1, 0, 0, 0]]
推荐阅读
- python-3.x - 执行 popen 超时
- kubernetes - nslookup:无法解析 kubernetes.default
- mysql - Perl 数据库连接在 .pm 文件中不起作用
- angular - 如何访问 Angular 组件上的 TemplateRef?
- eclipse - 神器尚未打包 MDEP-98
- php - mysql查询不工作我有很多尝试
- javascript - 移动图像时的 Javascript/CSS 平移图像问题
- android - 糖 ORM 订购
- python - 使用 python 3 和请求时,来自网站的 UTF-8 文本解码不正确,适用于 Python 2 和机械化
- hive - 如何通过 Hive 中的分区产生效果