Comment tester l'appartenance de plusieurs valeurs dans une liste Python ?

Linda Hamilton
Libérer: 2024-10-28 04:37:30
original
379 Les gens l'ont consulté

How to Test Membership of Multiple Values in a Python List?

Test d'appartenance pour plusieurs valeurs dans une liste

Question :

Comment tester si plusieurs valeurs sont membres d'une liste en Python ? Le résultat attendu est de renvoyer une valeur booléenne indiquant l'appartenance à chaque valeur, mais l'approche actuelle produit un résultat inattendu.

Explication :

L'extrait de code fourni : ' a', 'b' dans ['b', 'a', 'foo', 'bar'] ne fonctionne pas comme prévu car Python l'interprète comme un tuple plutôt que comme un test d'appartenance pour des valeurs individuelles.

Réponse :

Pour tester correctement l'appartenance de plusieurs valeurs dans une liste, utilisez l'expression suivante :

<code class="python">all(x in ['b', 'a', 'foo', 'bar'] for x in ['a', 'b'])</code>
Copier après la connexion

Cela retournera True si toutes les valeurs de la deuxième liste sont membres de la première liste et False sinon.

Autres options :

Utilisation des ensembles :

<code class="python">set(['a', 'b']).issubset(set(['a', 'b', 'foo', 'bar']))
{'a', 'b'} <= {'a', 'b', 'foo', 'bar'}</code>
Copier après la connexion

Cette méthode fonctionne bien lorsque les éléments de la liste peuvent être hachés, mais elle peut s'avérer inefficace si les listes sont volumineuses.

Tests de vitesse :

Les résultats du benchmark s'affichent que le test de sous-ensemble (utilisant des ensembles) est généralement plus rapide que l'expression all, mais la différence n'est pas significative à moins que les listes ne soient petites et que l'opération de sous-ensemble soit utilisée avec des ensembles. Cependant, si les éléments des listes ne sont pas hachables ou si les listes sont volumineuses, l'expression all peut être plus efficace.

Conclusion :

Utilisation de l'expression all est généralement une bonne pratique pour tester plusieurs valeurs dans une liste, en particulier lorsque les éléments ne sont pas hachables et lorsque l'efficacité est un problème. Si les éléments sont hachables et que les listes sont petites, le test de sous-ensemble peut offrir un léger avantage en termes de vitesse.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!