2013-10-24 2 views
0

Я пытаюсь найти более аккуратный способ возврата произвольного числа NxN-матриц. Сейчас я использую эту функциюЯ ищу аккуратный способ вернуть несколько матриц в python

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 

Я пытаюсь выяснить, если есть способ избежать, если/другое заявление. Есть идеи?

+0

Вы можете найти какие-то решения в этом вопросе [] [1]. Надеюсь, поможет. [1]: http://stackoverflow.com/questions/17869775/unpacking-variable-length-list-returned-from-function – fryday

ответ

1

Отбросьте if num == 1, а также использовать 1-элементный кортеж-распаковку:

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 

 Смежные вопросы

  • Нет связанных вопросов^_^