说我对x = 0.5
我怎么能得到一些值的数组:
y = [-4,-2 -5 , 0.5 , 1 , 3, 6,8]
是否有一个可以执行此操作的python函数:
radomaround(value, numberOfValuesBefor,numberofvaluesafter)
或randomaround(value,numberofValues)
答案 0 :(得分:2)
对我来说这似乎是一个非常特殊的情况,所以我想你需要自己写一个:
import random
def randaround(value, low, hi, num=5):
lower = [random.uniform(low, value) for _ in range(num)]
higher = [random.uniform(value, hi) for _ in range(num)]
return lower + [value] + higher
x = 0.5
print(randaround(x, -2, 4))
输出:
[0.33673180511496215, -1.2546042323682594, -0.681556151907607, 0.3568323009807952, -0.24707450425223398, 0.5, 1.0553226028673577, 2.913246921202094, 1.5029344184335343, 2.420987178172286, 1.8538880531275126]
如果您希望对它们进行排序,您当然可以在汇总返回的列表之前对它们进行排序。