Maison > développement back-end > Tutoriel Python > Comment soustraire des listes en Python ?

Comment soustraire des listes en Python ?

DDD
Libérer: 2024-10-23 12:19:30
original
286 Les gens l'ont consulté

How Can You Subtract Lists in Python?

Comment soustraire des listes en Python

Lorsque vous travaillez avec des listes, il existe des scénarios dans lesquels vous devrez peut-être soustraire une liste d'une autre. La soustraction de listes en Python implique d'identifier les éléments qui sont présents dans une liste mais pas dans l'autre.

Utiliser la compréhension de liste

Une approche simple consiste à utiliser la compréhension de liste. En parcourant la première liste (x), vous pouvez créer une nouvelle liste qui inclut uniquement les éléments non présents dans la deuxième liste (y) :

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

Cette méthode conserve l'ordre d'origine de x tout en excluant les éléments trouvé dans y.

Utilisation de Définir la différence

Si vous ne souhaitez pas préserver les propriétés de la liste (telles que la commande), vous pouvez tirer parti de l'opération de différence définie. Les ensembles sont des collections non ordonnées, ils éliminent donc les doublons. Pour effectuer une différence définie :

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

Cette méthode renvoie une liste avec des éléments uniques à la première liste.

Remplacement de la méthode sub

Pour des raisons de commodité syntaxique, vous pouvez définir une classe personnalisée qui hérite de la liste et remplace la méthode sub :

<code class="python">class MyList(list):
    def __sub__(self, other):
        return self.__class__(*[item for item in self if item not in other])</code>
Copier après la connexion

Avec cette classe, vous pouvez utiliser la soustraction infixe :

<code class="python">x = MyList(1, 2, 3, 4)
y = MyList(2, 5, 2)
z = x - y  # Subtracts y from x and assigns to z</code>
Copier après la connexion

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!

source:php
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal