python - 如何形成矩阵恒等式?

标签 python list matrix range identity

<分区>

我在这里试图完成的是生成一个大小为 n x n 的矩阵。无论矩阵是什么,我都必须从左上角到右下角填写数字 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

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

[[1, 0, 0], [0, 1, 0], [0, 0, 1]]

或者为了更容易可视化:

[[1, 0, 0],

 [0, 1, 0],

 [0, 0, 1]]

最佳答案

其中 n 是要创建的身份的大小

def identity(n):
    return [[1 if i==j else 0 for j in range(n)] for i in range(n)]

关于python - 如何形成矩阵恒等式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23527857/

相关文章:

list - 如何在 swi-prolog 中对最终结果进行排序?(包括谓词)

C++ 模板参数通过赋值推导

r - R中的子设置/匹配行和列

c - 在 C 函数中为二维数组分配空间?

c# - 为什么列表使用的内存几乎是数组的 3 倍?

java - while循环逻辑缺陷

python - 如何直接从 URL 读取 .dat 文件并访问其中的列?

python - 如何使用 Python 和 OpenCV 增强图像然后将其转换为二进制图像?

python - 如何将正则表达式与 pandas.Series.str.replace() 一起使用

python - 如何选择具有最大值的行的所有列