我如何形成矩阵标识?

use*_*724 2 python identity list range matrix

我在这里要完成的是生成一个大小为nxn的矩阵.无论矩阵是什么,我都必须填写1从左上角到右下角以及0其他任何地方的数字.

def identity(m):
    new_identity = []
    old_identity = m
        for i in range(len(old_identity)):
            new_identity.append(old_list[1])
    return new_identity
Run Code Online (Sandbox Code Playgroud)

例如,如果矩阵为3,则预期结果为:

[[1, 0, 0], [0, 1, 0], [0, 0, 1]]
Run Code Online (Sandbox Code Playgroud)

或者更容易想象:

[[1, 0, 0],

 [0, 1, 0],

 [0, 0, 1]]
Run Code Online (Sandbox Code Playgroud)

cmd*_*cmd 5

n要生成的身份的大小在哪里

def identity(n):
    return [[1 if i==j else 0 for j in range(n)] for i in range(n)]
Run Code Online (Sandbox Code Playgroud)