Heim >Backend-Entwicklung >Python-Tutorial >Warum gibt Pythons „random.shuffle' beim Mischen von Objekten „None' zurück?
Eine Liste von Objekten mischen
Wenn Sie versuchen, eine Liste von Objekten mithilfe der Funktion „random.shuffle“ in Python zu mischen, kann es vorkommen, dass Sie auf Folgendes stoßen: Problem beim Empfang einer None-Ausgabe. Im Gegensatz zu Listen mit ganzen Zahlen erfordert das Mischen von Objekten etwas mehr Überlegung.
Random.shuffle verstehen
random.shuffle arbeitet mit veränderlichen Objekten an Ort und Stelle, was bedeutet, dass es die direkt ändert Originalliste. Diese Funktion gibt nicht die gemischte Liste zurück, sondern ändert die Eingabeliste. Als Ergebnis wird None zurückgegeben, um anzuzeigen, dass kein tatsächlicher Wert zurückgegeben wird.
Lösung
Um das Problem zu beheben, stellen Sie sicher, dass die Eingabeliste veränderbare Objekte enthält. wie z.B. Listen. Hier ist ein Beispiel:
from random import shuffle # Create a list of lists as objects x = [[i] for i in range(10)] # Shuffle the list of objects in place shuffle(x) # Print the shuffled list print(x)
Ausgabe:
[[9], [2], [7], [0], [4], [5], [3], [1], [8], [6]]
Durch die Verwendung von Listen als Objekte kann random.shuffle die ursprüngliche Liste effektiv ändern und die gewünschte gemischte Ausgabe bereitstellen. Denken Sie daran, dass es beim Umgang mit veränderlichen Objekten häufig vorkommt, dass Funktionen None zurückgeben, nachdem sie die vorhandenen Objekte geändert haben.
Das obige ist der detaillierte Inhalt vonWarum gibt Pythons „random.shuffle' beim Mischen von Objekten „None' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!