Ich habe eine Reihe von möglichen Werten, zum Beispiel:Python: Teilmenge der Liste so gleichmäßig wie möglich verteilt?
possible_values = range(100)
Ich habe eine Liste mit unsystematisch (aber eindeutig) Zahlen innerhalb dieses Bereichs, zum Beispiel:
somelist = [0, 5, 10, 15, 20, 33, 77, 99]
ich erstellen möchten neue Liste der Länge < len (somelist) einschließlich einer Teilmenge dieser Werte, aber möglichst gleichmäßig über den Bereich der möglichen Werte verteilt. Zum Beispiel:
length_newlist = 2
newlist = some_function(somelist, length_newlist, possible_values)
print(newlist)
, die wie
[33, 77]
Also ideal Ausgabe etwas würde ich weder eine zufällige Stichprobe noch eine Probe mag, die aus gleichem Abstand ganzen Zahlen gewählt. Ich möchte eine Stichprobe basierend auf einer Verteilung (hier eine einheitliche Verteilung) in Bezug auf ein Intervall von möglichen Werten haben. Gibt es eine Funktion oder einen einfachen Weg, dies zu erreichen?
verteilt basierend auf Wert oder vor Ort in der Liste? –
Ich meine in Bezug auf die Bandbreite der möglichen Werte. Wenn mögliche Werte von 0 bis 100 sind, aber die Liste ist verzerrt, zum Beispiel [0,5,10,15,20,33,77,99] und ich sollte zwei Werte wählen, es wäre [33,77] und nicht [10,33] (die gleichmäßig auf die Indizes verteilt wären). Ich habe meine Antwort mit diesem Beispiel bearbeitet, damit es hoffentlich klarer wird was ich meine. –