2024-09-28 17:23:40 发布
网友
有没有办法在一个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))。我想使用最具python风格的方式将列表理解包含在用于记录数据的fstring中
"{}".format(dict_comprehension)
在这种情况下,我更喜欢dict.fromkeys:
dict.fromkeys
my_f_string = f"dict comprehension {dict.fromkeys(a)}"
更短更优雅:)
现在:
print(my_f_string)
输出:
dict comprehension {'a': None, 'b': None, 'c': None, 'd': None}
是的,当然有。您只需要将理解包装在括号( )中,因为两个连续的{被解释为文字"{"字符串
( )
{
"{"
a = ['a', 'b', 'c', 'd'] list_comprehension = [v for v in a]
这项工作:
my_f_string = f"dict comprehension {({v:None for v in a})}" print(my_f_string)
Output:dict comprehension {'a': None, 'b': None, 'c': None, 'd': None}
Output:
但是,这不起作用(Stack Overflow的语法高亮显示也有助于显示):
my_f_string = f"dict comprehension {{v:None for v in a}}" print(my_f_string)
Output:dict comprehension {v:None for v in a}
dict comprehension {v:None for v in a}
你想做的事情可以简单地按如下方式完成
dict_comp = {v:None for v in a} my_f_string = f"dict comprehension {dict_comp}"
或者,如果你真的想在f字串中使用dict理解,那么你必须在另一个大括号中放置{v:None for v in a},并在{v:None for v in a}前后加上一个空格
{v:None for v in a}
my_f_string = f"dict comprehension { {v:None for v in a} }"
在这种情况下,我更喜欢
dict.fromkeys
:更短更优雅:)
现在:
输出:
是的,当然有。您只需要将理解包装在括号
( )
中,因为两个连续的{
被解释为文字"{"
字符串这项工作:
但是,这不起作用(Stack Overflow的语法高亮显示也有助于显示):
你想做的事情可以简单地按如下方式完成
或者,如果你真的想在f字串中使用dict理解,那么你必须在另一个大括号中放置
{v:None for v in a}
,并在{v:None for v in a}
前后加上一个空格相关问题 更多 >
编程相关推荐