0

我试图找到一种更简洁的方法来返回任意数量的 NxN 矩阵。现在我正在使用这个功能

from numpy import matrix, zeros

def empty_matrix( dim, num ):   
"""Returns an empty square matrix of type complex and size a."""
    if num == 1:
        return matrix(zeros(shape =( dim, dim ), dtype=complex))
    else:
        return [ matrix(zeros(shape =( dim, dim ), dtype=complex)) for _ in range( num )]

通过以下方式:

A,B,C = empty_matrix( 2, 3 ) # sets A, B, C as 3 2x2 matrices

我试图弄清楚是否有办法避免 if/else 语句。有任何想法吗?

4

1 回答 1

1

删除if num == 1, 并使用 1-element-tuple-unpacking:

A,B,C = empty_matrices( 2, 3 ) # sets A, B, C as 3 2x2 matrices
A, = empty_matrices( 2, 1 ) # sets A as a 2x2 matrix
于 2013-10-24T20:54:55.760 回答