.format()使用{0:g}删除尾随的0时返回ValueError

2024-05-03 11:40:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图生成一个字符串,其中偶尔包含一个带有尾随零的浮点。这是文本字符串的MWE,我试图用{0:g}删除它们:

xn, cod = 'r', 'abc'
ccl = [546.3500, 6785.35416]
ect = [12.350, 13.643241]

text = '${}_{{t}} = {0:g} \pm {0:g}\;{}$'.format(xn, ccl[0], ect[0], cod)
print text

不幸的是,这又回来了:

ValueError: cannot switch from automatic field numbering to manual field specification

这个问题Using .format() to format a list with field width arguments报告了同一个问题,但我不知道如何将这里给出的答案应用于这个问题。


Tags: to字符串text文本formatfieldcod浮点
1条回答
网友
1楼 · 发布于 2024-05-03 11:40:16

{}使用自动字段编号。 {0:g}使用手动字段编号。

别把两者混在一起。如果要使用手动字段编号,请在任何地方使用:

text = '${0}_{{t}} = {1:g} \pm {2:g}\;{3}$'.format(xn, ccl[0], ect[0], cod)

相关问题 更多 >