如何使用dict理解条件替换键

Bal*_*ala 1 python dictionary-comprehension

我有一本字典

d={'user': 'bala', 'password': 'pass', 'filetype': 'as-parquetfile'}
Run Code Online (Sandbox Code Playgroud)

所有键都应加上前缀,--filetype应替换--

{'--user': 'bala', '--password': 'pass', '--': 'as-parquetfile'}
Run Code Online (Sandbox Code Playgroud)

如果我执行以下操作,则会收到语法错误。

{'--'+k:v if k!='filetype' else '--':v for (k,v) in d.items()}
Run Code Online (Sandbox Code Playgroud)

L3v*_*han 6

key: valuedict理解的一部分是没有表达式,因此您不能直接使用三元运算符。您可以执行以下操作:

{('--'+k if k!='filetype' else '--'): v for (k,v) in d.items()}
Run Code Online (Sandbox Code Playgroud)

  • @pault您会这样认为,但请看问题中的要求。 (2认同)