Python 将矩阵添加到列表中

Python 将矩阵添加到列表中,python,matrix,sage,Python,Matrix,Sage,我有一个生成一些随机矩阵的代码: for i in range(5): c = randint(1,10) r = randint(1,10) (Matrix(QQ,[[randint(-5,5) for x in range(c)] for y in range(r)])) 我的问题是如何将这些矩阵添加到列表中?谢谢。可以在列表中添加内容 使用列表的append和extend方法 示例:创建空列表并附加矩阵 当你建造它们的时候,你就可以看到它 matrices = [] for _ in

我有一个生成一些随机矩阵的代码:

for i in range(5):
c = randint(1,10)
r = randint(1,10)
(Matrix(QQ,[[randint(-5,5) for x in range(c)] for y in range(r)]))

我的问题是如何将这些矩阵添加到列表中?谢谢。

可以在列表中添加内容 使用列表的
append
extend
方法

示例:创建空列表并附加矩阵 当你建造它们的时候,你就可以看到它

matrices = []

for _ in range(5):
    c = randint(1, 10)
    r = randint(1, 10)
    m = Matrix(QQ, [[randint(-5, 5) for _ in range(c)] for _ in range(r)]))
    matrices.append(m)
要直接构建列表,请使用Python的理解语法:

matrices = [
    Matrix(QQ, [[randint(-5, 5) for _ in range(randint(1, 10))]
                for _ in range(randint(1, 10))]))
    for _ in range(5)
]
可以定义一个随机矩阵函数, 然后用它来建立一个矩阵列表

def my_random_matrix(emax=5, rmax=10, cmax=10):
    r"""
    Return a random matrix of random size.

    The number of rows is picked at random between ``1`` and ``rmax``.
    The number of columns is picked at random between ``1`` and ``cmax``.
    The entries are integers picked at random between ``-emax`` and ``emax``.
    The matrix is returned as a matrix over ``QQ``.
    """
    r, c = randint(1, rmax), randint(1, cmax)
    return Matrix(QQ, r, c, [randint(-emax, emax) for _ in range(r * c)])

matrices = [my_random_matrix() for _ in range(5)]