Introduction
Lorsque vous travaillez avec Python, vous pouvez souvent rencontrer des situations où vous devez sélectionner des éléments aléatoires d'une liste. Cela peut être utile dans de nombreuses applications, notamment les jeux, l'analyse statistique et l'apprentissage automatique.
Table des matières
- Introduction
- Créer une liste en Python.
- Sélectionnez aléatoirement un élément d'une liste en utilisant random.choice()
- Sélectionnez aléatoirement un élément à partir d'une liste en utilisant random.sample()
- Sélectionnez aléatoirement un élément d'une liste en utilisant random.shuffle()
- Sélectionnez aléatoirement un élément d'une liste en utilisant Numpy.
- Références
Le langage de programmation Python nous offre des outils qui facilitent la sélection aléatoire d'éléments d'une liste. Dans cette article, nous explorerons comment sélectionner aléatoirement des éléments d'une liste en python .
Créer une liste en Python.
Pour créer une liste en Python, nous utilisons des crochets "[" "]" pour encadrer les éléments de la liste. Par exemple,
l = ['a','b','c','d','e','f']
Sélectionnez aléatoirement un élément d'une liste en utilisant random.choice()
Pour sélectionner aléatoirement un élément d'une liste, vous pouvez utiliser la fonction random.choice(). Cette solution offre un moyen simple et efficace d'accomplir la tâche.
import random
random.choice(l)
Par exemple, le code mentionné fournira :
'c'
Création d'une sélection d'éléments aléatoires à partir d'une autre liste.
Une façon de générer une liste d'éléments aléatoires est d'utiliser une compréhension de liste.
r = [random.choice(l) for i in range(2)]
Par exemple, voici quelques exemples de retours.
['a', 'f']
Voici un autre exemple où 10 éléments sont sélectionnés aléatoirement à partir d'une liste :
r = [random.choice(l) for i in range(10)]
donne par exemple
['e', 'd', 'b', 'b', 'c', 'b', 'a', 'a', 'b', 'c']
Sélectionnez toujours de manière aléatoire les mêmes éléments.
Note : Pour obtenir systématiquement le même résultat, vous pouvez utiliser random.seed()
random.seed(42)
[random.choice(l) for i in range(10)]
donne par exemple
['f', 'a', 'a', 'f', 'c', 'b', 'b', 'b', 'f', 'a']
Suppression des éléments en double
Pour éliminer les éléments en double de votre liste, vous pouvez suivre une approche simple. Tout d'abord, convertissez votre liste en un ensemble ('set'), qui supprime automatiquement les doublons. Ensuite, si nécessaire, convertissez l'ensemble en une liste. Ce processus garantit efficacement que votre liste ne contient que des éléments uniques.
l = ['a', 'a', 'a', 'b', 'c','d','e','f']
l = list(set(l))
donne par exemple
['b', 'c', 'f', 'e', 'd', 'a']
Sélectionnez aléatoirement un élément à partir d'une liste en utilisant random.sample()
Pour sélectionner aléatoirement un élément d'une liste, vous pouvez également utiliser la fonction random.sample(). L'avantage réside dans la génération d'un échantillon sans remplacement, ce qui implique que chaque élément est sélectionné une seule fois :
random.sample(l,n)
"n" désigne la taille de l'échantillon (où n est inférieur ou égal à la longueur de la liste). Par exemple:
l = ['a','b','c','d','e','f']
random.sample(l,2)
donne par exemple
['c', 'e']
Veuillez noter que si la valeur de 'n' dépasse le nombre total d'éléments dans la liste, un message d'erreur s'affichera : "ValueError: Sample larger than population or is negative". En revanche, si 'n' est égal au nombre d'éléments dans la liste, cela équivaut à mélanger aléatoirement tous les éléments.
Sélectionnez aléatoirement un élément d'une liste en utilisant random.shuffle()
Une autre approche consiste à mélanger aléatoirement notre liste, puis à la découper par la suite.
l = ['a','b','c','d','e','f']
random.shuffle(l)
n = 2
l[:n]
donne par exemple
['d', 'a']
Sélectionnez aléatoirement un élément d'une liste en utilisant Numpy.
L'une des nombreuses fonctions de numpy est random.choice(), qui nous permet de sélectionner aléatoirement des éléments à partir d'une liste.
Pour utiliser random.choice(), nous devons d'abord importer numpy dans notre environnement Python. Nous pouvons le faire en utilisant le code suivant :
import numpy as np
Ensuite, nous pouvons créer une liste d'éléments à partir desquels nous souhaitons effectuer une sélection aléatoire. Par exemple, supposons que nous ayons une liste de couleurs :
l = ['a','b','c','d','e','f']
Maintenant, nous pouvons utiliser random.choice() pour sélectionner une couleur aléatoire de cette liste. Nous devons simplement passer la liste en tant qu'argument dans la fonction, comme ceci :
np.random.choice(l)
Cela renverra un seul élément de la liste, choisi au hasard. Nous pouvons également spécifier le nombre d'éléments que nous souhaitons sélectionner en utilisant le paramètre size
dans la fonction. Par exemple, si nous voulons sélectionner trois couleurs aléatoires de notre liste, nous pouvons le faire :
np.random.choice(l, size=3)
Cela renverra un tableau numpy avec trois éléments sélectionnés au hasard dans la liste.
array(['c', 'e', 'c'], dtype='<U1')
Veuillez noter que la sortie mentionnée ci-dessus est un tableau. Si vous préférez une liste à la place:
list( np.random.choice(l, size=3) )
donne par exemple
['b', 'e', 'c']
Références
Liens | Site |
---|---|
random — Generate pseudo-random numbers | docs.python.org |
numpy.random.choice | numpy.org |