Maison  >  Article  >  développement back-end  >  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

DDD
DDDoriginal
2024-11-17 06:36:03968parcourir

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

C'est une tâche courante 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.

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