Warum Random.shuffle() None zurückgibt
Pythons Funktion random.shuffle() scheint in bestimmten Situationen None zurückzugeben. Um dieses Problem zu lösen, ist es wichtig, den Zweck von random.shuffle() zu verstehen.
random.shuffle() wird verwendet, um eine Liste an Ort und Stelle zu mischen. Im Gegensatz zu vielen Funktionen, die eine geänderte Kopie einer Struktur zurückgeben, ändert random.shuffle() die ursprüngliche Liste, ohne eine neue zu erstellen. Daher wird beim Aufruf von random.shuffle(x) x selbst gemischt und None zurückgegeben, da die Funktion nicht explizit eine neue Liste generiert.
Den gemischten Wert abrufen
Um den gemischten Wert zu erhalten, drucken Sie einfach die Originalliste aus oder greifen Sie nach dem Anruf darauf zu random.shuffle().
import random x = ['foo', 'bar', 'black', 'sheep'] random.shuffle(x) print(x) # Prints the shuffled list
Erstellen einer neuen gemischten Liste
Wenn Sie eine neue zufällig gemischte Liste erstellen möchten, ohne die ursprüngliche zu ändern, verwenden Sie eine der beiden random.sample() oder sorted().
Verwenden random.sample():
import random x = ['foo', 'bar', 'black', 'sheep'] shuffled_list = random.sample(x, len(x))
Verwendung von sorted():
import random x = ['foo', 'bar', 'black', 'sheep'] shuffled_list = sorted(x, key=lambda k: random.random())
Das obige ist der detaillierte Inhalt vonWarum gibt „random.shuffle()' von Python „Keine' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!