如何在 f 字符串中包含字典理解?
How to include a dict comprehension in an f-string?
有什么方法可以在 fstring 中使用字典理解吗?案例如下:
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 中以用于记录数据。
是的,当然有。您只需要将理解包含在括号 ( )
中,因为两个连续的 {
被解释为文字 "{"
字符串。
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}
但是,这 不 起作用(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_comp = {v:None for v in a}
my_f_string = f"dict comprehension {dict_comp}"
或者如果你真的想在 f 字符串中使用字典理解,那么你必须将 {v:None for v in a}
放在另一个带有 a space[=19= 的大括号内]前后{v:None for v in a}
.
my_f_string = f"dict comprehension { {v:None for v in a} }"
在这种情况下我更喜欢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}
有什么方法可以在 fstring 中使用字典理解吗?案例如下:
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 中以用于记录数据。
是的,当然有。您只需要将理解包含在括号 ( )
中,因为两个连续的 {
被解释为文字 "{"
字符串。
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}
但是,这 不 起作用(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_comp = {v:None for v in a}
my_f_string = f"dict comprehension {dict_comp}"
或者如果你真的想在 f 字符串中使用字典理解,那么你必须将 {v:None for v in a}
放在另一个带有 a space[=19= 的大括号内]前后{v:None for v in a}
.
my_f_string = f"dict comprehension { {v:None for v in a} }"
在这种情况下我更喜欢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}