def shaperand(s):
r = []
for i in s:
if type(i) in [list,tuple]:
r.append(shaperand(i))
else:
r.append(np.random.rand())
return r
所以,
shaperand([[1,2],[3,4,5],[6,7]])
结果:
[[0.27611814857329864, 0.6271028191307862], [0.6245245446787084, 0.743259931401167, 0.9061663248784034], [0.7236900927531255, 0.540622773908648]]
我没有看到执行此操作的功能。如果有一个它会更快。写这个有更好,更好的方式吗?
答案 0 :(得分:1)
如果您正在使用NumPy数组,那很简单:
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
np.random.random(a.shape)
如果您有列表,可以这样做:
import random
def shaperand(s):
return [shaperand(e) if isinstance(e, list) else random.random() for e in s]