我正在寻找一种在python中返回多个矩阵的简洁方法

时间:2013-10-24 20:50:27

标签: python matrix iterable-unpacking

我正在尝试找到一种返回任意数量的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语句。有什么想法吗?

1 个答案:

答案 0 :(得分: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