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

DDD
Libérer: 2024-11-17 06:36:03
original
968 Les gens l'ont consulté

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]
Copier après la connexion

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])
Copier après la connexion

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!

source:php.cn
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