Python での文字列のブール値への解析: 不一致への対処
一方、Python では bool() を使用して文字列をブール値に変換する簡単な方法が提供されています。関数を使用すると、予期しない結果が生じることがよくあります。この記事では、文字列をブール値に正確に変換するための別のアプローチを示します。
bool() で発生する一般的な問題の 1 つは、空でない文字列がすべて True と評価されることです。これに対処するには、代わりに文字列を「true」を表す特定の値と比較することができます:
>>> s == 'True'
このアプローチでは、文字列のみを明示的に比較します。 "True" と一致すると、True と評価されます。
より複雑なシナリオの場合、受け入れられる値のリストと照合することは次のとおりです。推奨:
>>> s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']
ただし、空でない文字列で bool() を使用する場合は注意が必要です。以下に示すように、空の文字列は False と評価されますが、その他の文字列はすべて True と評価されます:
>>> bool("foo")
True
>>> bool("")
False
この動作は、False と評価されるはずの空でない文字列が代わりに True を返すため、解析目的では問題があります。したがって、文字列をブール値に正確に変換するには、上記の代替方法を優先する必要があります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3