Comparer des listes en Python

Manav Narula 30 janvier 2023
  1. Utilisez la boucle for pour comparer des listes en Python
  2. Utilisez le set pour comparer des listes en Python
  3. Utilisez la fonction collection.counter() pour comparer deux listes en Python
Comparer des listes en Python

Les listes sont utilisées pour stocker plusieurs éléments dans un ordre spécifique en Python.

Dans ce tutoriel, nous allons apprendre à comparer deux listes et à trouver les éléments égaux.

Utilisez la boucle for pour comparer des listes en Python

La boucle for peut être utilisée pour parcourir la liste et comparer chaque élément d’une liste avec tous les deuxièmes éléments de la liste. Avec cette méthode, nous pouvons trouver des éléments de comparaison individuellement et découvrir les éléments communs.

Le code suivant montre comment implémenter cela.

l1 = [1, 2, 3]
l2 = [3, 2, 5]
for i in l1:
    for j in l2:
        if i == j:
            print(i)
            break

Production:

2
3

Utilisez le set pour comparer des listes en Python

Le Set est une collection d’éléments et n’est pas ordonné. Nous pouvons directement convertir une liste en un ensemble en utilisant la fonction set() et les comparer pour l’égalité.

Par exemple,

l1 = [1, 2, 3, 4, 5]
l2 = [9, 8, 7, 6, 5]

if set(l1) == set(l2):
    print("Lists are equal")
else:
    print("Lists are not equal")

Production:

Lists are not equal

On peut également retrouver les éléments communs entre deux listes à l’aide de l’opérateur &, qui renvoie l’intersection de deux ensembles.

Par exemple,

l1 = [1, 2, 3, 4, 5]
l2 = [9, 8, 7, 6, 5]

print("Common Elements", set(l1) & set(l2))

Production:

Common Elements {5}

Utilisez la fonction collection.counter() pour comparer deux listes en Python

La fonction counter() renvoie un dictionnaire contenant tous les éléments de la liste et leur fréquence sous forme de paires clé-valeur. Nous pouvons comparer ce dictionnaire pour vérifier l’égalité et plus encore.

Par exemple,

import collections

l1 = [1, 2, 3]
l2 = [3, 2, 1]

if collections.Counter(l1) == collections.Counter(l2):
    print("Equal")
else:
    print("Not Equal")

Production:

Equal
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python List