Exemples de comment obtenir les valeurs uniques d'une liste en python:
Créer une liste en python
Créons d'abord une liste avec des valeurs uniques :
mylist1 = ['a', 'b', 'c', 'd']
puis créez une autre liste plus grande en utilisant ces valeurs uniques :
import random
mylist2 = [random.choice(mylist1) for i in range(20)]
mylist2
donne par exemple
['d',
'c',
'd',
'd',
'b',
'd',
'a',
'b',
'b',
'd',
'a',
'b',
'a',
'b',
'a',
'd',
'b',
'd',
'a',
'b']
Objectif : obtenir des valeurs uniques de mylist2.
Obtenir les valeurs uniques d'une liste
Il existe plusieurs solutions pour cela.
Convertir la liste en set
Une solution simple consiste à convertir la liste en set (voir python Data Structures):
mylist2 = set(mylist2)
et de reconvertir en liste
mylist2 = list(mylist2)
print(mylist2)
donne
['d', 'a', 'b', 'c']
Note: pour trier la liste :
mylist2.sort()
print(mylist2)
donne alors
['a', 'b', 'c', 'd']
Convertir la liste en matrice
Une autre solution consiste à convertir la liste en matrice
import numpy as np
mylist2 = np.array(mylist2)
voir la fonction numpy unique()
mylist2 = np.unique(mylist2)
et convertir à nouveau en liste
mylist2 = list(mylist2)
mylist2
donne
['a', 'b', 'c', 'd']
Itérer sur chaque valeur avec une boucle for
Une autre solution consiste simplement à itérer sur chaque valeur avec une boucle for
mylist3 = []
for i in mylist2:
if i not in mylist3:
mylist3.append(i)
mylist2 = mylist3
mylist2.sort()
print(mylist2)
donne
['a', 'b', 'c', 'd']