Python 在对象列表中创建浮动

Python 在对象列表中创建浮动,python,python-3.x,Python,Python 3.x,我有一张物品清单 l = (('a1', 1.96256684), ('b3', 1.36), ('e2', 0.5715)) 我希望能够将数字格式化为特定的小数位数(4),以便获得如下输出 a1 1.9626 b3 1.3600 e3 0.5715 我尝试了所描述的方法(使用isalpha),但得到了错误 AttributeError: 'tuple' object has no attribute 'isalpha' 我想知道这是不是因为字母上有数字?但我会认为它只会返回False,而

我有一张物品清单

l = (('a1', 1.96256684), ('b3', 1.36), ('e2', 0.5715))
我希望能够将数字格式化为特定的小数位数(4),以便获得如下输出

a1 1.9626 b3 1.3600 e3 0.5715
我尝试了所描述的方法(使用isalpha),但得到了错误

AttributeError: 'tuple' object has no attribute 'isalpha'
我想知道这是不是因为字母上有数字?但我会认为它只会返回False,而不会给我一个错误


感谢您的帮助或建议

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

>>> '{:0.4f}'.format(1.36)
'1.3600'
>>> '{:0.4f}'.format(1.96256684)
'1.9626'
完整代码可能类似于:

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

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

>>> '{:0.4f}'.format(1.36)
'1.3600'
>>> '{:0.4f}'.format(1.96256684)
'1.9626'
完整代码可能类似于:

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

Print语句仍将与空格连接,因此您可以使用splat解包args:

>>> print(*(f'{s} {f:.4f}' for s,f in l))
a1 1.9626 b3 1.3600 e2 0.5715

这使用了Python 3.6中新增的功能

Print语句仍将与空格连接,因此您可以使用splat解包args:

>>> print(*(f'{s} {f:.4f}' for s,f in l))
a1 1.9626 b3 1.3600 e2 0.5715

这使用了Python 3.6中新增的功能

你能上传你的代码吗?你可以在元组上使用isalpha,而不是字符串。你能上传你的代码吗?你可以在元组上使用isalpha而不是字符串
“”。join({0[0]}{0[1]:0.4f})。l中t的格式(t)
也可以工作并避免元组解包,但我不太喜欢它:-)
“”。join({0[0]}{0[1]:0.4f}。l中t的格式(t)
也可以工作并避免元组解包,但我不太喜欢它:-)您可能想指出这只是python3.6+,并且您可能想提到您正在使用f字符串。我很感激他们的使用,但给人们一些东西让谷歌了解更多可能是件好事:-)@mgilson补充道。下次请随意直接编辑我的帖子。您可能想指出这只是python3.6+,并且您可能想提到您正在使用f字符串。我很感激他们的使用,但给人们一些东西让谷歌了解更多可能是件好事:-)@mgilson补充道。下次可以直接编辑我的帖子。