问题描述
什么是等效的纯python代码?
A = np.random.randint(2,size=(4,2))
array([[0,1],[0,0],[1,0]])
解决方法
这可能适合您。
from random import randint
A = [[randint(0,1) for y in range(2)] for x in range(4)]
print(A)
输出:
>>> [[0,0],[0,1],1]]
,
如果您需要具有多个尺寸的不同形状,请使用以下代码:
import random
def random_matrix(c,shape):
for i in range(len(shape)):
if len(shape)-i>1:
for j in range(shape[i]):
return [random_matrix(c,shape[i+1:]) for b in range(shape[i])]
else:
return [random.randint(0,c-1) for v in range(shape[i])]
mat = random_matrix(2,[3,3,1])
print(mat)
print(mat[0])
输出:
[[[1],[0],[1]],[[0],[1],[0]],[0]]]
[[1],[1]]
或与您的示例相同:
mat = random_matrix(2,[4,2])
print(mat)
输出:
[[0,0]]