Existe-t-il un moyen plus efficace de vérifier si un élément d'une liste existe dans une autre liste ?

Mary-Kate Olsen
Libérer: 2024-11-21 07:58:09
original
740 Les gens l'ont consulté

Is there a More Efficient Way to Check if Any Item From One List Exists in Another List?

Incorporer plusieurs éléments dans la vérification de liste

La question initiale tourne autour de la recherche d'une méthode efficace pour vérifier si un élément d'une liste donnée est présent dans une autre liste. Plutôt que d'utiliser une fonction personnalisée, cet article explore des approches alternatives pour résoudre ce scénario.

Approche 1 : Compréhension de liste

Comme illustré ci-dessous, une compréhension de liste peut être utilisée pour isoler les éléments de la première liste qui existent dans la deuxième liste :

L1 = [2, 3, 4]
L2 = [1, 2]
[i for i in L1 if i in L2]
Copier après la connexion

Cette approche génère une liste d'éléments correspondants, qui a une valeur booléenne de True si elle contient des éléments. Dans l'exemple donné, il renverra [2].

Approche 2 : Définir l'intersection

Alternativement, les ensembles peuvent être utilisés pour des comparaisons de listes plus efficaces. En convertissant chaque liste en un ensemble, leur intersection peut être trouvée comme suit :

S1 = set(L1)
S2 = set(L2)
S1.intersection(S2)
Copier après la connexion

Semblable à la compréhension de liste, l'intersection des deux ensembles ne contient que les éléments correspondants. Puisque les ensembles vides sont évalués à Faux, le résultat de l'intersection peut être directement utilisé comme valeur de vérité.

Considération d'évaluation logique

Il est crucial de noter que l'existence d'un l'élément correspondant est suffisant pour renvoyer True dans les deux approches. Par conséquent, cette méthode peut ne pas convenir aux scénarios dans lesquels tous les éléments doivent être présents.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal