f-string里面的字典/集合理解

时间:2018-03-05 21:53:39

标签: python dictionary-comprehension f-string set-comprehension

是否可以在python 3.6+中的f-string中使用字典或设置理解?

在语法上似乎不可能:

names = ['a', 'b', 'c']
pks = [1, 2, 3]

f"{{name : pk for name, pk in zip(names, pks)}}"

这将返回:

{name : pk for name, pk in zip(names, pks)}

这是预期的行为,双括号导致输出中的文字括号,因为表达式未被计算。

有没有人找到一种解决方法,允许在f-strings中使用字典/集合理解?

1 个答案:

答案 0 :(得分:3)

@vaultah评论:

添加空格:

names = ['a', 'b', 'c']
pks = [1, 2, 3]
f"{ {name: pk for name, pk in zip(names, pks)} }"