【发布时间】:2020-08-12 10:07:59
【问题描述】:
什么是等效的纯python代码?
A = np.random.randint(2, size=(4,2))
array([[0, 1],
[0, 1],
[0, 0],
[1, 0]])
【问题讨论】:
-
当您尝试这样做时究竟是什么问题?
什么是等效的纯python代码?
A = np.random.randint(2, size=(4,2))
array([[0, 1],
[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, 0],
[0, 1],
[0, 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], [0]]]
[[1], [0], [1]]
或者就像你的例子一样:
mat = random_matrix(2, [4,2])
print(mat)
输出:
[[0, 0], [0, 0], [0, 0], [0, 0]]
【讨论】: