Maison >développement back-end >Tutoriel Python >Comment puis-je comparer efficacement une chaîne avec de nombreuses valeurs possibles en Python ?

Comment puis-je comparer efficacement une chaîne avec de nombreuses valeurs possibles en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-25 15:01:141013parcourir

How Can I Efficiently Compare a String Against Many Possible Values in Python?

Comparaison efficace de chaînes en Python

En Python, comparer une chaîne à plusieurs valeurs possibles peut être crucial pour valider une entrée ou effectuer des opérations conditionnelles. Une approche courante consiste à utiliser une série d’instructions if-else, en comparant explicitement la chaîne à chaque valeur possible. Cependant, cela peut conduire à un code verbeux et inefficace, en particulier lorsqu'il s'agit d'une longue liste de valeurs.

Une solution alternative consiste à utiliser un ensemble. Un ensemble est une collection d’éléments uniques qui prennent en charge des tests d’adhésion rapides. En créant un ensemble contenant les chaînes valides, puis en vérifiant la présence de la chaîne d'entrée dans l'ensemble, vous pouvez obtenir une validation efficace.

Par exemple, si les chaînes valides sont :

auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, ... , local7

Vous pouvez créer un ensemble comme suit :

accepted_strings = {'auth', 'authpriv', 'daemon', ...}

Ensuite, vous pouvez comparer la fonction de chaîne d'entrée à l'ensemble en utilisant le paramètre in opérateur :

if facility in accepted_strings:
    do_stuff()

La vérification du confinement dans un ensemble est une opération à temps constant (O(1) en moyenne), ce qui la rend très efficace même avec un grand nombre de chaînes valides.

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