Python での文字列のブール値への解析: 不一致への対処
一方、Python では bool() を使用して文字列をブール値に変換する簡単な方法が提供されています。関数を使用すると、予期しない結果が生じることがよくあります。この記事では、文字列をブール値に正確に変換するための別のアプローチを示します。
bool() で発生する一般的な問題の 1 つは、空でない文字列がすべて True と評価されることです。これに対処するには、代わりに文字列を「true」を表す特定の値と比較します。
<code class="python">>>> s == 'True'</code>
このアプローチでは、明示的に「True」に一致する文字列のみが True と評価されます。
Forより複雑なシナリオでは、受け入れられる値のリストと照合することをお勧めします:
<code class="python">>>> s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']</code>
ただし、空でない文字列で bool() を使用する場合は注意が必要です。以下に示すように、空の文字列は False と評価されますが、他のすべての文字列は True と評価されます。
<code class="python">>>> bool("foo") True >>> bool("") False</code>
この動作は、False と評価されるべき空でない文字列が代わりに True を返すため、解析目的では問題があります。したがって、文字列をブール値に正確に変換するには、上記の代替方法を優先する必要があります。
以上がPython で文字列をブール値に正確に変換する方法: bool() による予期しない結果を回避するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。