„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So konvertieren Sie Strings in Python genau in Boolesche Werte: Unerwartete Ergebnisse mit bool() vermeiden

So konvertieren Sie Strings in Python genau in Boolesche Werte: Unerwartete Ergebnisse mit bool() vermeiden

Veröffentlicht am 21.11.2024
Durchsuche:851

How to Accurately Convert Strings to Booleans in Python: Avoiding Unexpected Results with bool()

Strings in Boolesche Werte in Python analysieren: Inkonsistenzen beheben

Während Python eine einfache Methode zum Konvertieren von Strings in Boolesche Werte mit bool() bietet Funktion führt es oft zu unerwarteten Ergebnissen. In diesem Artikel werden alternative Ansätze zum genauen Konvertieren von Zeichenfolgen in boolesche Werte vorgestellt.

Ein häufiges Problem, das bei bool() auftritt, besteht darin, dass alle nicht leeren Zeichenfolgen als „True“ ausgewertet werden. Um dies zu beheben, kann man die Zeichenfolge stattdessen mit bestimmten Werten vergleichen, die „wahr“ darstellen:

>>> s == 'True'

Dieser Ansatz stellt sicher, dass nur Zeichenfolgen explizit angezeigt werden Matching „True“ ergibt True.

Für komplexere Szenarien wird die Prüfung anhand einer Liste akzeptierter Werte empfohlen:

>>> s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']

Bei der Verwendung von bool() mit nicht leeren Zeichenfolgen ist jedoch Vorsicht geboten. Wie unten gezeigt, werden leere Zeichenfolgen als „False“ ausgewertet, während alle anderen als „True“ ausgewertet werden:

>>> bool("foo")
True
>>> bool("")
False

Dieses Verhalten ist für Analysezwecke problematisch, da nicht leere Zeichenfolgen, die als False ausgewertet werden sollten, stattdessen True zurückgeben. Daher sollten die oben genannten alternativen Methoden für genaue String-zu-Boolesche-Konvertierungen bevorzugt werden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3