[解決済み] ある変数がある文字列と等しいか、別の文字列と等しいかを確認する方法は?重複
2023-06-04 12:07:01
質問
if var is 'stringone' or 'stringtwo':
dosomething()
これは動作しません! 私は変数を持っていて、それがいずれかの値であるときに何かをする必要がありますが、それはif文に入力されません。Javaでは
if (var == "stringone" || "stringtwo")
は動作します。Pythonでこれを書くにはどうすればよいですか?
どのように解決するのですか?
期待したとおりになりません。
if var is 'stringone' or 'stringtwo':
dosomething()
と同じである。
if (var is 'stringone') or 'stringtwo':
dosomething()
というのは、常に真であり
'stringtwo'
は "true"値とみなされるからです。
2つの選択肢があります。
if var in ('stringone', 'stringtwo'):
dosomething()
あるいは、個別に等値性テストを書くこともできます。
if var == 'stringone' or var == 'stringtwo':
dosomething()
を使用しないでください。
is
なぜなら
is
はオブジェクトの同一性を比較するからです。 Pythonはたくさんの文字列を扱うので、時々それを避けることができるかもしれません。 しかし
is
を使わないでください。
>>> 'a' + 'b' == 'ab'
True
>>> 'a' + 'b' is 'abc'[:2]
False # but could be True
>>> 'a' + 'b' is 'ab'
True # but could be False
関連
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] 文字列が空かどうかを確認する方法は?
-
[解決済み] Pythonのswitch文の代用品?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] と'is'のどちらかを使って文字列を比較すると、異なる結果になることがあるのはなぜですか?
-
[解決済み] なぜ「a == x or y or z」は常に「真」と評価されるのですか?
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?