So konvertieren Sie Strings in Python genau in Boolesche Werte: Vermeiden Sie unerwartete Ergebnisse mit bool()

Mary-Kate Olsen
Freigeben: 2024-10-27 20:26:30
Original
412 Leute haben es durchsucht

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 unkomplizierte 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:

<code class="python">>>> s == 'True'</code>
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass nur Zeichenfolgen, die explizit mit „True“ übereinstimmen, als „True“ ausgewertet werden.

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

<code class="python">>>> s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']</code>
Nach dem Login kopieren

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

<code class="python">>>> bool("foo")
True
>>> bool("")
False</code>
Nach dem Login kopieren

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

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Strings in Python genau in Boolesche Werte: Vermeiden Sie unerwartete Ergebnisse mit bool(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!