Comment obtenir les valeurs uniques d'une liste en python ?

26 septembre 2021    /    Viewed: 122    /    Comments: 0    /    Edit


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']

Références


Card image cap
profile-image
Bazinga

Salut, je suis Ben.

J'ai développé ce site web à partir de zéro avec Django pour partager avec tout le monde mes notes. Si vous avez des idées ou des suggestions pour améliorer le site, faites le moi savoir ! (vous pouvez me contacter via le formulaire de la page d'accueil). Merci!