我有一个值的列表,我想在一个f字符串的括号中插入这些值。列表的长度会随时间的变化而变化。因此,我将为每种情况创建一个正确长度的字符串。我们的想法是创建一个正确长度的字符串,然后将其插入到f-字符串中。这会失败,因为它是作为字符串读取的。是其他变通方法得到了相同的结果,还是我不知道的f字符串的一个特性?
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}'''
输出:“测试({值[0]})({值[1]})({值[2]})”
我想要的输出:'测试('名字姓氏',20)('名字姓氏',25)('名字姓氏',30)'
尝试寻找方法来转义字符串中的引号,但没有成功。
2条答案
按热度按时间deyfvvtc1#
这种更简单的方法正是您所需要的:
输出量:
不需要转义大括号,只需连接每个列表中的所有元素并正确设置它们的格式。
5m1hhzi42#
不知道这些花括号在做什么,但这里有一个简单得多的循环:
这样,您就不必对字符串/值的长度进行“硬编码”。