Maison  >  Article  >  développement back-end  >  Existe-t-il un moyen plus efficace de vérifier si un élément d'une liste existe dans une autre liste ?

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
Mary-Kate Olsenoriginal
2024-11-21 07:58:09741parcourir

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]

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)

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!

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