📅  最后修改于: 2023-12-03 15:39:45.292000             🧑  作者: Mango
本文介绍如何用 Python 找到一个 N 阶对称矩阵,其中包含从 0 到 N-1 的整数,并且主对角线应仅包含 0。
对称矩阵具有以下性质:
因此,我们只需要构造一个满足上述条件的矩阵即可。
我们可以先构造一个 N×N 的零矩阵,将矩阵上半部分填充上从 1 到 N-1 的数字,再用矩阵转置的结果填充矩阵下半部分,最后将对角线上的元素全部置为 0 即可。
def create_symmetric_matrix(n):
"""生成一个 N 阶对称矩阵"""
matrix = [[0] * n for _ in range(n)]
for i in range(n):
for j in range(i+1, n):
matrix[i][j] = matrix[j][i] = j
for i in range(n):
matrix[i][i] = 0
return matrix
>>> create_symmetric_matrix(5)
[[0, 1, 2, 3, 4],
[1, 0, 3, 2, 4],
[2, 3, 0, 4, 1],
[3, 2, 4, 0, 1],
[4, 4, 1, 1, 0]]
以上就是本文的全部内容。