Analyse de chaînes en booléens en Python : résoudre les incohérences
Alors que Python offre une méthode simple pour convertir des chaînes en booléens à l'aide de bool() fonction, cela conduit souvent à des résultats inattendus. Cet article présente des approches alternatives pour convertir avec précision des chaînes en booléens.
Un problème courant qui se pose avec bool() est que toutes les chaînes non vides sont évaluées à True. Pour résoudre ce problème, on peut comparer la chaîne à des valeurs spécifiques qui représentent « vrai » à la place :
>>> s == 'True'
Cette approche garantit que seules les chaînes sont explicitement la correspondance "True" est évaluée à True.
Pour des scénarios plus complexes, il est recommandé de vérifier une liste de valeurs acceptées :
>>> s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']
Cependant, il est crucial de faire preuve de prudence lors de l'utilisation de bool() avec des chaînes non vides. Comme démontré ci-dessous, les chaînes vides sont évaluées à False, tandis que toutes les autres sont évaluées à True :
>>> bool("foo")
True
>>> bool("")
False
Ce comportement est problématique à des fins d'analyse, car les chaînes non vides qui devraient être évaluées à False renverront à la place True. Par conséquent, les méthodes alternatives mentionnées ci-dessus doivent être privilégiées pour des conversions précises de chaîne en booléen.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3