Python f字符串内部的字典/集合理解

Python f字符串内部的字典/集合理解,python,dictionary-comprehension,f-string,set-comprehension,Python,Dictionary Comprehension,F String,Set Comprehension,在Python3.6+中,是否可以在f字符串中设置字典或集合理解 这在句法上似乎是不可能的: 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字符串中实现字典/集合

在Python3.6+中,是否可以在f字符串中设置字典或集合理解

这在句法上似乎是不可能的:

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字符串中实现字典/集合理解?

正如@vaultah所评论的:

添加空格,它们在语法上是必需的,不会出现在结果字符串中:

names = ['a', 'b', 'c']
pks = [1, 2, 3]
f"{ {name: pk for name, pk in zip(names, pks)} }"
正如@vaultah评论的那样:

添加空格,它们在语法上是必需的,不会出现在结果字符串中:

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

括号,空格,…@vaultah只有前导空格是必要的,尽管尾随空格对于对称性很好也许空格和括号似乎可以工作,但是省略号不起作用:)括号,空格,…@vaultah只有前导空格是必要的,尽管尾随空格对于对称性很好也许空格和括号似乎可以工作,但是省略号不能:)