Python dict不理解

cja*_*vin 6 python dictionary

(抱歉,无法抗拒双关语!)

我想知道为什么翻译似乎不可能:

dict([(str(x),x) if x % 2 else (str(x),x*10) for x in range(10)])
Run Code Online (Sandbox Code Playgroud)

使用dict理解进入这个更易读的表达式:

{str(x):x if x % 2 else str(x):x*10 for x in range(10)}
Run Code Online (Sandbox Code Playgroud)

geo*_*org 8

{ str(x):(x if x % 2 else x*10) for x in range(10) }
Run Code Online (Sandbox Code Playgroud)

似乎运作良好

  • 我的建议`{str(x):( x if x%2 else x*10)for x in range(10)}` - 更可读的一个 (6认同)