Großes Array mit Zufallszahlen mit Python

7

Ich muss ein großes Array (oder eine Liste) mit Zufallszahlen (10⁵-Nummern) erzeugen. Ich habe es so versucht:

%Vor%

Aber wenn ich versuche zu laufen:

%Vor%

Datei "/usr/lib/python2.7/random.py", Zeile 320, in Beispiel     ValueError erhöhen ("Probe größer als Population")   ValueError: Stichprobe größer als Population

Irgendeine Lösung?

tkns

    
gdlm 28.08.2012, 21:36
quelle

2 Antworten

19

Was Sie wollen, ist

%Vor%

Aus der zufälligen Moduldokumentation :

  

random.sample (population, k) Gibt eine k-length-Liste eindeutiger Elemente zurück   ausgewählt aus der Populationssequenz. Wird für Stichproben ohne verwendet   Ersatz.

Wenn Sie also random.sample(range(10), 100000) aufrufen, versuchen Sie 100000 eindeutige Elemente in einer Sequenz der Länge 10 zu extrahieren, die offensichtlich nicht funktionieren kann.

Beachten Sie, dass

  • random.random() gibt einen Gleitkommawert zwischen [0; 1)
  • random.randrange([start], stop[, step]) liefert ein zufälliges Element aus der Sequenz range([start], stop[, step])
  • random.randint(a, b) gibt einen ganzzahligen Wert in [a; b]
  • Wenn random.sample verwendet wird, muss die Gleichheit len(population) >= k
  • enthalten
marchelbling 28.08.2012, 21:41
quelle
8

Ich denke, Sie sind in etwa so:

%Vor%     
g.d.d.c 28.08.2012 21:39
quelle

Tags und Links