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

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

Patricia Arquette
Libérer: 2024-11-26 10:20:10
original
534 Les gens l'ont consulté

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
Copier après la connexion

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))
Copier après la connexion

Utilisation de sorted() :

import random
x = ['foo', 'bar', 'black', 'sheep']
shuffled_list = sorted(x, key=lambda k: random.random())
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal