Maison > développement back-end > Tutoriel Python > Pourquoi « random.shuffle() » de Python renvoie-t-il « None » et comment puis-je l'utiliser correctement ?

Pourquoi « random.shuffle() » de Python renvoie-t-il « None » et comment puis-je l'utiliser correctement ?

Patricia Arquette
Libérer: 2024-12-19 00:19:11
original
578 Les gens l'ont consulté

Why Does Python's `random.shuffle()` Return `None` and How Can I Use It Correctly?

Mélange d'une liste d'objets

Problème :

Des erreurs peuvent survenir lorsque vous tentez de mélanger une liste d'objets à l'aide de l'option fonction random.shuffle(). Le comportement de brassage attendu ne semble pas se produire et la fonction renvoie Aucun à la place.

Solution :

Pour mélanger efficacement une liste d'objets, utilisez le shuffle( ) fonctionnent à partir du module aléatoire comme suit :

from random import shuffle

objects = [obj1, obj2, obj3]  # initialize the list of objects
shuffle(objects)  # shuffle the objects in place
Copier après la connexion

Explication :

Contrairement à certains autres langages de programmation, en Python, random.shuffle() fonctionne sur place, ce qui signifie qu'il modifie la liste d'origine sans en retourner un nouveau. De plus, il est courant que les fonctions en Python renvoient None lorsqu'une mutation d'objets est prévue.

Exemple de code :

from random import shuffle

x = [[i] for i in range(10)]
shuffle(x)
print(x)
Copier après la connexion

Cela mélangera la liste des listes x et imprimez le mélange résultat.

Remarque :

Il est important de se rappeler que shuffle() modifie la liste d'origine, de sorte que les opérations ou accès ultérieurs à la liste refléteront les modifications apportées par shuffle ().

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