Pythons Random Shuffle: Warum die nicht-scheinbare Rückkehr?
Wenn man die Funktion random.shuffle von Python verwendet, könnte man verwirrt sein, sie zu sehen return Keine. Dieses Verhalten ergibt sich aus seiner In-Place-Natur.
Im Gegensatz zu Funktionen, die die transformierte Datenstruktur nach Änderungen zurückgeben, ändert random.shuffle direkt die Eingabeliste. Daher wird „None“ zurückgegeben, um anzugeben, dass kein expliziter Wert zurückgegeben wird.
Betrachten Sie zur Veranschaulichung den folgenden Code:
x = ['foo', 'bar', 'black', 'sheep'] random.shuffle(x) print(x)
Beim Ausführen dieses Codes wird die Liste x gemischt -place, aber die Funktion random.shuffle selbst gibt keinen Wert zurück. Folglich gibt die print-Anweisung die jetzt gemischte Liste aus.
Wenn Sie eine neue, gemischte Liste wünschen, ohne das Original zu ändern, können Sie alternative Methoden verwenden:
Verstehen Sie, dass random.sample zwar eine O(N)-Komplexität hat, sorted jedoch aufgrund der zugrunde liegenden Sortierung eine O(N log N)-Komplexität hat Operation.
Indem Sie das direkte Verhalten von random.shuffle verstehen und bei Bedarf alternative Methoden verwenden, können Sie effektiv steuern, wie Sie Listenmischvorgänge in Python handhaben.
Das obige ist der detaillierte Inhalt vonWarum gibt Pythons „random.shuffle' „None' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!