在对象列表中创建一个浮点

时间:2017-04-11 18:28:44

标签: python python-3.x

我有一个对象列表,

l = (('a1', 1.96256684), ('b3', 1.36), ('e2', 0.5715))

我希望能够将数字格式化为一定数量的小数位(4),以获得类似

的输出
a1 1.9626 b3 1.3600 e3 0.5715

我尝试了here描述的方法(使用isalpha),但得到了错误

AttributeError: 'tuple' object has no attribute 'isalpha'

我想知道它是否因为字母上附有数字?但后来我认为它会返回False而不是给我一个错误。

感谢您提供任何帮助或adivce

2 个答案:

答案 0 :(得分:2)

您可能希望使用.format格式化字符串。

>>> '{:0.4f}'.format(1.36)
'1.3600'
>>> '{:0.4f}'.format(1.96256684)
'1.9626'

完整的代码可能类似于:

' '.join('{} {:0.4f}'.format(*t) for t in l)

答案 1 :(得分:2)

Print语句无论如何都会加入空格,所以你可以用splat打开args:

artist

这使用了Python中新增的literal string interpolation功能。