【发布时间】:2022-11-18 23:34:25
【问题描述】:
我有一个值列表,我想在 f 字符串的括号内插入。 列表的长度会不时不同,因此我会为每种情况制作一个长度正确的字符串。这个想法是创建一个正确长度的字符串,然后将它插入到 f 字符串中。这失败了,因为它被读取为一个字符串。是否有其他解决方法来获得相同的结果,或者它是我不知道的 f-string 的一个特性?
values = [['First Name Last name', 20],['First Name Last name', 25],['First Name Last name', 30]]
test = [1]*3
for i in range(3):
val = f'''values[{i}]''' #First create innerpart
test[i] = f'''({{{val}}})''' #Then encapsulate it in curly brackets and paranthesis
insert = ' '.join(test)
f'''Test {insert}'''
输出:'测试({values[0]})({values[1]})({values[2]})'
我想要的输出:'Test('First Name Last Name',20) ('First Name Last Name',25) ('First Name Last Name',30)'
试图找到在没有成功的情况下转义字符串中的引号的方法。
【问题讨论】:
-
这回答了你的问题了吗? How to escape curly-brackets in f-strings?。总之,您必须使用 2 个支架而不是一个。
-
test[i] = f"({values[i]})"您可以在 f 字符串中使用列表索引(或几乎任何 python 表达式)。字符串的内容与将其插入 fstring 的方式无关。
标签: python-3.x f-string