2017-06-26 4 views
-1

sagen, dass ich den folgenden Wert für x = 0.5Getting a ValueSet um eine spezifische Werte

haben, wie kann ich ein Array von Werten um es etwas zu bekommen:

y = [-4,-2 -5 , 0.5 , 1 , 3, 6,8] 

gibt es eine Python-Funktion, die dies tun können etwas,:

radomaround(value, numberOfValuesBefor,numberofvaluesafter) 

oder randomaround(value,numberofValues)

Antwort

2

Es scheint wie ein ganz besonderer Fall für mich, so dass ich denke, man selbst schreiben müssen:

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)) 

Ausgänge:

[0.33673180511496215, -1.2546042323682594, -0.681556151907607, 0.3568323009807952, -0.24707450425223398, 0.5, 1.0553226028673577, 2.913246921202094, 1.5029344184335343, 2.420987178172286, 1.8538880531275126] 

Wenn Sie sie Sie sortiert werden sollen, können sie natürlich Art vor Zusammenstellen der zurückgegebenen Liste.

+1

Haben Sie globale 'x' und Argument' Wert' verwechselt? – kazemakase

+0

das war nicht die Frage. Ich habe es schon getan, ich muss es 10M + mal tun, warum ich gefragt habe – Engine

+0

@kazemakase Schön gefleckt, danke :-) – lmNt