Mélanger une liste d'objets
Une tâche courante en programmation consiste à mélanger une liste d'objets. En Python, il existe une fonction intégrée pour cela : random.shuffle(). Cependant, son comportement peut être inattendu si vous n'êtes pas familier avec ses nuances.
Question
Pourquoi random.shuffle(), lorsqu'il est appelé sur une liste de objets, renvoient None au lieu du mélange list?
Answer
random.shuffle() modifie sa liste d'entrée sur place, ce qui signifie qu'elle ne crée pas une nouvelle liste mais mélange plutôt les éléments de l'existante liste. Par conséquent, il n’a aucune valeur à renvoyer, d’où le résultat None. Ce comportement est cohérent avec la convention Python pour les objets mutables, où les fonctions qui les modifient renvoient généralement Aucun.
Exemple
Pour démontrer cela, considérons le code suivant :
from random import shuffle l = [[i] for i in range(10)] shuffle(l) print(l)
Le code crée une liste de listes et la mélange à l'aide de shuffle(). L'impression de la liste résultante montre qu'elle a été réorganisée avec succès :
[[9], [2], [7], [0], [4], [5], [3], [1], [8], [6]]
Dans cet exemple, random.shuffle() a en effet modifié la liste d'origine en place, renvoyant Aucun.
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!