"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment soustraire des listes en Python ?

Comment soustraire des listes en Python ?

Publié le 2024-11-06
Parcourir:527

How to Subtract Lists in Python?

Soustraction de listes : calculer la différence

Les listes en Python peuvent contenir divers éléments. Pour effectuer des opérations mathématiques sur des listes, comme la soustraction, nous employons des méthodes ou techniques spécifiques. Explorons comment soustraire une liste d'une autre.

Utiliser la compréhension de liste pour la soustraction élément par élément

Une approche consiste à utiliser une compréhension de liste, qui itère sur la première liste et calcule la différence tout en préservant l'ordre d'origine :

[item for item in x if item not in y]

Soustraction d'ensembles pour des calculs plus rapides

Si le maintien de l'ordre des éléments n'est pas crucial, une approche basée sur des ensembles offre des calculs plus rapides :

list(set(x) - set(y))

Remplacement de sub pour les soustractions de liste

Pour activer la soustraction de liste à l'aide de l'opérateur infixe "-", nous pouvons remplacer la méthode __sub__ d'une classe héritant de list :

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

Exemple d'utilisation :

x = MyList(1, 2, 3, 4)
y = MyList(2, 5, 2)
z = x - y    # z becomes a MyList object containing the difference
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729655176. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3