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
Libérer: 2024-11-25 15:01:14
original
1046 Les gens l'ont consulté

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
Copier après la connexion

Vous pouvez créer un ensemble comme suit :

accepted_strings = {'auth', 'authpriv', 'daemon', ...}
Copier après la connexion

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()
Copier après la connexion

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