例如,我将以下数字分配给不同的变量:

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/

10-11 20:27