matrix = [[0 for i in range(10)] for j in range(10)] # 创建一个10x10的矩阵,全部赋值为0
for i in range(10): # 遍历矩阵的每一行
for j in range(10): # 遍历矩阵的每一列
if i == j or i + j == 9:
# 如果是主对角线或副对角线上的位置
matrix[i][j] = 1 # 将该位置上的值设置为1
print(matrix) # 输出生成的矩阵
解释:
首先,我们使用嵌套的列表推导式创建一个全部为0的10x10矩阵。接着,我们使用双重循环遍历该矩阵的每一个位置。对于处于主对角线或副对角线上的位置,我们将其值设置为1,其余位置的值仍然为0。最后,我们输出生成的矩阵。
样例输出:
[[1, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 1, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 1, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 1, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 1, 0],