"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 vérifier efficacement l'existence d'éléments dans une liste : raccourcis et meilleures pratiques

Comment vérifier efficacement l'existence d'éléments dans une liste : raccourcis et meilleures pratiques

Publié le 2024-11-12
Parcourir:589

How to Efficiently Check for Element Existence in a List: Shortcuts and Best Practices

Vérification de l'existence d'éléments dans une liste à l'aide de raccourcis

Il est courant de vérifier si un ou plusieurs éléments résident dans une liste. Au lieu de concevoir une fonction élaborée, vous pouvez utiliser les approches concises suivantes.

L'opérateur Python ou évalue ses arguments de manière séquentielle, renvoyant la première valeur véridique ou non vide. Bien que cela puisse sembler une solution, elle ne suffit pas dans le cas des listes. Comme démontré ci-dessus, (1 ou 2) dans a est évalué à False, tandis que (2 ou 1) dans a est évalué à True. Cela se produit parce que 1 est évalué à False dans un contexte booléen, ce qui fait que l'expression est équivalente à False dans a.

Une méthode plus efficace et plus lisible consiste à utiliser une compréhension de liste ou une intersection d'ensembles. Grâce à la compréhension de liste, vous pouvez filtrer les éléments de la première liste en fonction de leur présence dans la deuxième liste. Par exemple :

L1 = [2, 3, 4]
L2 = [1, 2]
[i for i in L1 if i in L2]  # Returns [2]

Vous pouvez également convertir les listes en ensembles, effectuer une intersection d'ensembles et utiliser la valeur booléenne de l'ensemble résultant. Cette approche est avantageuse pour gérer efficacement les éléments en double :

S1 = set(L1)
S2 = set(L2)
S1.intersection(S2)  # Returns set([2])

Les listes vides et les ensembles vides sont évalués à False, vous permettant d'évaluer leur présence directement à l'aide de la logique booléenne.

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