Problem:
Beim Versuch, eine Liste von Objekten mit dem zu mischen, können Fehler auftreten random.shuffle()-Funktion. Das erwartete Mischverhalten scheint nicht aufzutreten und die Funktion gibt stattdessen None aus.
Lösung:
Um eine Liste von Objekten effektiv zu mischen, verwenden Sie die Funktion shuffle( ) Funktion aus dem Zufallsmodul as folgt:
from random import shuffle objects = [obj1, obj2, obj3] # initialize the list of objects shuffle(objects) # shuffle the objects in place
Erklärung:
Im Gegensatz zu einigen anderen Programmiersprachen arbeitet random.shuffle() in Python an Ort und Stelle, was bedeutet, dass es die ursprüngliche Liste ohne ändert ein neues zurückschicken. Darüber hinaus ist es in Python üblich, dass Funktionen „None“ zurückgeben, wenn die Mutation von Objekten beabsichtigt ist.
Beispielcode:
from random import shuffle x = [[i] for i in range(10)] shuffle(x) print(x)
Dadurch wird die Liste der Listen x gemischt und drucken Sie das gemischte Ergebnis aus.
Hinweis:
Es ist Es ist wichtig zu bedenken, dass shuffle() die ursprüngliche Liste ändert, sodass nachfolgende Vorgänge oder Zugriffe auf die Liste die von shuffle() vorgenommenen Änderungen widerspiegeln.
Das obige ist der detaillierte Inhalt vonWarum gibt Pythons „random.shuffle()' „None' zurück und wie kann ich es richtig verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!