问题描述
在不使用 numpy 的情况下,我需要创建一个如下所示的矩阵:
1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1
到目前为止,我只能得到这种模式:
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
使用这个理解列表:
l = [[1 if i == j else 0 for j in range(5)] for i in range(5)]
现在我需要弄清楚如何使用 comp 列表将计数器对角线更改为相同的模式。
解决方法
试试这个 -
n=7
[[1 if i==j or i+j==n-1 else 0 for j in range(n)] for i in range(n)]
[[1,1],[0,1,0],[1,1]]