到目前为止,我使用以下代码生成具有指定边界的随机列表:
def initGen(low,upp):
ini=[]
for i in range(len(low)):
ini.append(random.uniform(low[i],upp[i]))
return ini
有人可以建议一种更紧凑或替代的方式来实现它吗?输入和输出是浮点数。
答案 0 :(得分:4)
列表理解会使代码更短,如果这是你所追求的。
def initGen(low, upp):
return [random.uniform(l, u) for l, u in zip(low, upp)]
答案 1 :(得分:1)
这将完成这项工作:
import numpy as np
low=[5,10]
high=[20,30]
np.random.uniform(low,high)
打印
array([ 10.81578449, 26.20810003])