2309 Stimmen

Wie kann ich ein Element zufällig aus einer Liste auswählen?

Angenommen, ich habe die folgende Liste:

foo = ['a', 'b', 'c', 'd', 'e']

Was ist die einfachste Methode, um einen zufälligen Eintrag aus dieser Liste auszuwählen?

15voto

Memin Punkte 3050

Kurz gesagt, verwenden Sie random.sample Methode

El sample Methode gibt eine neue Liste zurück, die Elemente aus der Grundgesamtheit enthält, während die ursprüngliche Grundgesamtheit unverändert bleibt. Die resultierende Liste ist in Auswahlreihenfolge, so dass alle Unterscheiben ebenfalls gültige Stichproben sind.

import random
lst = ['a', 'b', 'c', 'd', 'e']
random.seed(0)  # remove this line, if you want different results for each run
rand_lst = random.sample(lst,3)  # 3 is the number of sample you want to retrieve
print(rand_lst)

Output:['d', 'e', 'a']

Hier ist ein laufender Code https://onecompiler.com/python/3xem5jjvz

9voto

Liam Punkte 5098

Dies ist der Code mit einer Variablen, die den Zufallsindex definiert:

import random

foo = ['a', 'b', 'c', 'd', 'e']
randomindex = random.randint(0,len(foo)-1) 
print (foo[randomindex])
## print (randomindex)

Dies ist der Code ohne die Variable:

import random

foo = ['a', 'b', 'c', 'd', 'e']
print (foo[random.randint(0,len(foo)-1)])

Und dies ist der kürzeste und intelligenteste Weg, dies zu tun:

import random

foo = ['a', 'b', 'c', 'd', 'e']
print(random.choice(foo))

(python 2.7)

6voto

Solomon Vimal Punkte 890

Zufällige Artikelauswahl:

import random

my_list = [1, 2, 3, 4, 5]
num_selections = 2

new_list = random.sample(my_list, num_selections)

Um die Reihenfolge der Liste beizubehalten, könnten Sie dies tun:

randIndex = random.sample(range(len(my_list)), n_selections)
randIndex.sort()
new_list = [my_list[i] for i in randIndex]

Duplikat von https://stackoverflow.com/a/49682832/4383027

6voto

Du könntest einfach:

from random import randint

foo = ["a", "b", "c", "d", "e"]

print(foo[randint(0,4)])

4voto

Jax Punkte 49

Dies könnte bereits eine Antwort sein, aber Sie könnten random.shuffle . Beispiel:

import random
foo = ['a', 'b', 'c', 'd', 'e']
random.shuffle(foo)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X