我有字典
d={'user': 'bala', 'password': 'pass', 'filetype': 'as-parquetfile'}
所有键都应以--
为前缀,filetype
除外,应将其替换为--
以获取
{'--user': 'bala', '--password': 'pass', '--': 'as-parquetfile'}
如果执行以下操作,我会收到语法错误。
{'--'+k:v if k!='filetype' else '--':v for (k,v) in d.items()}
答案 0 :(得分:6)
dict理解的key: value
部分没有表达式,因此您不能直接使用三元运算符。您可以执行以下操作:
{('--'+k if k!='filetype' else '--'): v for (k,v) in d.items()}
答案 1 :(得分:2)
我喜欢使用的肮脏方式:
d = {'user': 'bala', 'password': 'pass', 'filetype': 'as-parquetfile'}
d = {"--" + (k, "")[k=="filetype"]: v for k, v in d.items()}
d
>>> {'--': 'as-parquetfile', '--password': 'pass', '--user': 'bala'}