1. ホーム
  2. python

[解決済み】辞書の理解でif/elseを使用するにはどうすればよいですか?

2022-04-15 19:48:24

質問

Python 2.7+で、以下のようなものを作る方法はありますか?

{ something_if_true if condition else something_if_false for key, value in dict_.items() }

if』だけで何でも作れますよね。

{ something_if_true for key, value in dict_.items() if condition}

解決方法は?

すでにお持ちの方 A if test else B は有効なPythonの式です。あなたのdict内包の唯一の問題は、dict内包の中で式を表す場所は、コロンで区切られた2つの式でなければならないということです。

{ (some_key if condition else default_key):(something_if_true if condition
          else something_if_false) for key, value in dict_.items() }

最後の if 節はフィルターとして機能し、条件式があることとは異なります。