Heim > Backend-Entwicklung > Python-Tutorial > Warum gibt „random.shuffle()' von Python „Keine' zurück?

Warum gibt „random.shuffle()' von Python „Keine' zurück?

Patricia Arquette
Freigeben: 2024-11-26 10:20:10
Original
535 Leute haben es durchsucht

Why Does Python's `random.shuffle()` Return None?

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
Nach dem Login kopieren

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))
Nach dem Login kopieren

Verwendung von sorted():

import random
x = ['foo', 'bar', 'black', 'sheep']
shuffled_list = sorted(x, key=lambda k: random.random())
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage