Maison > développement back-end > Tutoriel Python > Quelles sont les méthodes pour calculer les différences de liste en Python ?

Quelles sont les méthodes pour calculer les différences de liste en Python ?

Barbara Streisand
Libérer: 2024-10-23 11:53:01
original
630 Les gens l'ont consulté

What are the Methods to Compute List Differences in Python?

Comment calculer les différences de liste

Pour déterminer la différence entre deux listes, x et y, plusieurs approches sont disponibles en Python.

Utilisation des compréhensions de liste

Pour préserver l'ordre des éléments dans x, une compréhension de liste peut être utilisée :

<code class="python">[item for item in x if item not in y]</code>
Copier après la connexion

Cette expression crée un nouveau liste, incluant uniquement les éléments de x qui ne sont pas présents dans y.

Utilisation des différences définies

Si l'ordre n'est pas crucial, une différence définie peut être utilisée :

<code class="python">list(set(x) - set(y))</code>
Copier après la connexion

Cette approche convertit x et y en ensembles, calcule la différence, puis reconvertit le résultat en une liste.

Remplacement des méthodes de classe

Pour activer la syntaxe de soustraction infixe (par exemple, x - y), vous pouvez remplacer la méthode sub dans une classe qui hérite de list :

<code class="python">class MyList(list):
    def __init__(self, *args):
        super(MyList, self).__init__(args)

    def __sub__(self, other):
        return self.__class__(*[item for item in self if item not in other])

x = MyList(1, 2, 3, 4)
y = MyList(2, 5, 2)
z = x - y  # Infix subtraction syntax</code>
Copier après la connexion

Dans ce scénario, z ne contiendra que les éléments de x qui ne sont pas dans y.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal