Python 如何创建随机矩阵?

Python 如何创建随机矩阵?,python,for-loop,random,matrix,Python,For Loop,Random,Matrix,我想创建一个像[[[100,50,25],[22,75,195]]这样的随机矩阵 我的代码是 n = 1 r = 2 e = 3 sup = [] for i in range(n): sup1 = [] for c in range(r): sup0 = list (random.randint (200, 0, e)) sup1.append (sup0) sup.append (sup1) print sup 但是pyth

我想创建一个像[[[100,50,25],[22,75,195]]这样的随机矩阵

我的代码是

n = 1
r = 2
e = 3

sup = []

for i in range(n):
    sup1 = []
    for c in range(r):
       sup0 = list (random.randint (200, 0, e))
       sup1.append (sup0)
    sup.append (sup1)    

print sup
但是python给了我一个错误

这应该行得通(不知道
e
做什么):


您可以使用
numpy
直接获得给定范围内值的所需大小的随机矩阵

>>> numpy.random.randint(low = 0, high = 200, size=(2, 4))
array([[ 75,  21, 132,  90],
       [112,  11, 104, 114]])

>>> r = 2
>>> n = 1
>>> numpy.random.randint(low = 0, high = 200, size=(r, n))
array([[94],
       [51]])

您能提供完整的回溯吗?可能是因为在
random.randint
中使用了3个参数,因为它只需要2个参数。如果确实需要优化,
itertools.repeat()
对于大型数组可能更快,因为它不会为每个循环生成整数对象。
>>> numpy.random.randint(low = 0, high = 200, size=(2, 4))
array([[ 75,  21, 132,  90],
       [112,  11, 104, 114]])

>>> r = 2
>>> n = 1
>>> numpy.random.randint(low = 0, high = 200, size=(r, n))
array([[94],
       [51]])