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 ?
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!