一尘不染

如何在字典理解中使用if / else?

python

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}

阅读 154

收藏
2020-12-20

共1个答案

一尘不染

您已经知道了:A if test else B是有效的Python表达式。所示的dict理解的唯一问题是dict理解中表达式的位置必须有两个表达式,并用冒号分隔:

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

finalif子句充当过滤器,这与具有条件表达式不同。

2020-12-20