Python 如何创建随机矩阵?
我想创建一个像[[[100,50,25],[22,75,195]]这样的随机矩阵 我的代码是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
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]])