【发布时间】:2017-04-11 16:54:07
【问题描述】:
我已经阅读了很多与我的问题相关的类似问题,但我没有看到任何专门针对此的问题。 我有一个对象列表,例如
l = ((a, 0.5), (b, 0.75), (c, 0.954367))
我希望能够只打印出数字,格式为小数点后 5 位。我不太清楚该怎么做,所以我开始尝试切片然后打印它
nums = list(z[1:2] for z in l) # originally had 'tuple' instead of 'list'
print("numbers: {:.5f}".format(nums))
切片有效,只给我数字,但是当我到达打印语句时,我得到一个错误
TypeError: non-empty format string passed to object.__format__
我最初将切片作为元组进行,但认为这可能导致错误,因此将其更改为列表,但没有帮助。 我读过noted that 的一个答案@“字节对象没有自己的 _ _format__ 方法,因此使用来自对象的默认值。”并建议将其转换为字符串 - 这导致了同样的错误。
我的问题本质上是,有没有办法解决这个错误,或者有更好的方法来获得输出而不切片/使用上面的方法?
谢谢,
【问题讨论】:
标签: python list python-3.x