是否可以在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中使用字典/集合理解?
答案 0 :(得分:3)
@vaultah评论:
添加空格:
names = ['a', 'b', 'c']
pks = [1, 2, 3]
f"{ {name: pk for name, pk in zip(names, pks)} }"