numpy fill_diagonal返回None

发布于 2021-01-29 15:03:55

我想生成对称的零对角矩阵。我的对称零件正常工作,但是当我从numpy使用fill_diagonal作为结果时,结果为“无”。我的代码如下。感谢您的阅读

import numpy as np
matrix_size = int(input("Size of the matrix \n"))
random_matrix = np.random.random_integers(-4,4,size=(matrix_size,matrix_size))
symmetric_matrix = (random_matrix + random_matrix.T)/2
print(symmetric_matrix)
zero_diogonal_matrix = np.fill_diagonal(symmetric_matrix,0)
print(zero_diogonal_matrix)
关注者
0
被浏览
62
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    np.fill_diagonal()与跨python / numpy的许多其他方法一样,它可以就地工作。例如:为什么“ return
    list.sort()”返回None,而不返回列表?
    。那是因为它直接更改了内存中的对象,而不创建新对象。这些函数的返回值为None。因此,请更改:

    zero_diogonal_matrix = np.fill_diagonal(symmetric_matrix,0)
    

    只是:

    np.fill_diagonal(symmetric_matrix,0)
    

    然后,您将看到反映在中的更改symmetric_matrix



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看