1. ホーム
  2. python

[解決済み] Pythonで文字列からbooleanに変換する?

2022-03-17 15:23:41

質問

Pythonで文字列をブーリアンに変換する方法を知っている人はいますか?私は見つけた このリンク . でも、ちゃんとした方法ではなさそうです。 I.e.組み込み機能を使う、など。

なぜこのようなことを聞くかというと、私が知ったのは int("string") ここから しかし bool("string") を常に返します。 True :

>>> bool("False")
True

解決方法は?

本当に、文字列と、あなたが真を表すものとして受け入れると予想されるものを比較すればいいのですからね。

s == 'True'

あるいは、たくさんの値に対してチェックを行うこと。

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

以下のように使用する場合は、注意が必要です。

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

空の文字列は、次のように評価されます。 False と評価されますが、それ以外のものは True . ですから、これはいかなる種類のパース目的でも使ってはいけません。