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>
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>
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>
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>
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!