【发布时间】:2021-11-23 00:20:43
【问题描述】:
有没有办法在 fstring 中使用 dict 理解?案例如下:
a = ['a', 'b', 'c', 'd']
list_comprehension = [v for v in a]
my_f_string = f"dict comprehension {v:None for v in a}"
我不想使用格式插值 ("{}".format(dict_comprehension))。我想使用最 Pythonic 的方式将该列表理解包含在用于记录数据的 fstring 中。
【问题讨论】:
-
如果你想做“最 Pythonic 的方式”,那么我建议不要在 f-string 中这样做。你得到了尽可能密集的所有内容,但是可读性受到影响,并且没有任何用于代码检查/格式化/等的工具(例如 black/mypy)能够对 f-string 中的任何内容执行任何操作。创建字典并通过
str(the_dict)格式化,如果你坚持使用f-strings,那么f"{str(the_dict)}"。
标签: python string-interpolation f-string