Maison  >  Article  >  développement back-end  >  Pourquoi `random.shuffle()` de Python ne renvoie-t-il aucun ?

Pourquoi `random.shuffle()` de Python ne renvoie-t-il aucun ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-26 10:20:10508parcourir

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

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn