例如,我将以下数字分配给不同的变量:
a = 1.23981321; b = 34; c = 9.567123
在打印这些变量之前,我将它们格式化为小数点后4位:
'{:.4f} - {:.4f} - {:.4f}'.format(a, b, c)
打印以下内容:
'1.2398 - 34.0000 - 9.5671'
除了将
:.4f
分配给每个占位符{ }
之外,还有一种方法可以一次声明:.4f
来格式化所有值吗? 最佳答案
a = 1.23981321
b = 34
c = 9.567123
print('{:.4f} - {:.4f} - {:.4f}'.format(a, b, c)) # Original
print('{a:{f}} - {b:{f}} - {c:{f}}'.format(a=a, b=b, c=c, f='.4f')) # New
如果使用关键字参数,则更容易做到,因此可以使用
{a}
,而不是位置参数。这使您可以在格式字符串的多个位置使用f = '.4f'
格式。如果您需要使所有内容简短,则可以混合使用位置参数和关键字参数(感谢Martijn作为提示),还可以将fmt字符串放在单独的行上
fmt = '{:{f}} - {:{f}} - {:{f}}'
print(fmt.format(a, b, c, f='.4f'))
关于python - 在Python 3中对多个项目使用相同的字符串格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27253039/