Maison > Article > développement back-end > Pourquoi `random.shuffle()` de Python ne renvoie-t-il aucun ?
Pourquoi Random.shuffle() ne renvoie aucun
La fonction random.shuffle() de Python peut sembler renvoyer Aucun dans certaines situations. Comprendre le but de random.shuffle() est crucial pour résoudre ce problème.
random.shuffle() est utilisé pour mélanger une liste sur place. Contrairement à de nombreuses fonctions qui renvoient une copie modifiée d'une structure, random.shuffle() modifie la liste d'origine sans en créer une nouvelle. Par conséquent, lors de l'appel de random.shuffle(x), x lui-même est mélangé et None est renvoyé car la fonction ne génère pas explicitement une nouvelle liste.
Obtention de la valeur mélangée
Pour obtenir la valeur mélangée, imprimez simplement ou accédez à la liste originale après avoir appelé random.shuffle().
import random x = ['foo', 'bar', 'black', 'sheep'] random.shuffle(x) print(x) # Prints the shuffled list
Création d'une nouvelle liste mélangée
Si vous souhaitez créer une nouvelle liste mélangée aléatoirement sans modifier celle d'origine, utilisez soit random.sample() ou sorted().
Utilisation random.sample() :
import random x = ['foo', 'bar', 'black', 'sheep'] shuffled_list = random.sample(x, len(x))
Utilisation de sorted() :
import random x = ['foo', 'bar', 'black', 'sheep'] shuffled_list = sorted(x, key=lambda k: random.random())
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!