Python 获取围绕特定值的值集

Python 获取围绕特定值的值集,python,Python,假设我有以下x=0.5的值 我如何获得一个围绕它的值数组 y = [-4,-2 -5 , 0.5 , 1 , 3, 6,8] radomaround(value, numberOfValuesBefor,numberofvaluesafter) 是否有python函数可以做到这一点: y = [-4,-2 -5 , 0.5 , 1 , 3, 6,8] radomaround(value, numberOfValuesBefor,numberofvaluesafter) 或者rando

假设我有以下
x=0.5的值

我如何获得一个围绕它的值数组

y = [-4,-2 -5 , 0.5 , 1 , 3, 6,8]
radomaround(value, numberOfValuesBefor,numberofvaluesafter) 
是否有python函数可以做到这一点:

y = [-4,-2 -5 , 0.5 , 1 , 3, 6,8]
radomaround(value, numberOfValuesBefor,numberofvaluesafter) 

或者
randomaround(value,numberofValues)

这对我来说似乎是一个非常特殊的情况,所以我想你需要自己写一个:

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]

如果您希望对它们进行排序,当然可以在组合返回的列表之前对它们进行排序。

您是否将全局
x
和参数
值混为一谈了?这不是问题所在。我已经做过了,我需要做1000多万次,这就是我为什么这么做的原因asking@Engine它完美地回答了你提出的问题。。。您实际上没有要求性能,也没有声明您有一个有效的解决方案。@Engine那么您可能应该声明,您需要它的优化版本:-)为了性能,请使用numpy:
lower=np.random.uniform(low,value,num)