我已经阅读了很多与我的问题相关的类似问题,但我没有看到任何具体的问题。 我有对象的列表,如在python中格式化对象列表
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__方法,所以使用默认的对象。”并建议将其转换为一个字符串 - 而这会导致相同的错误。
我的问题实质上是有没有办法解决这个错误,或者更好的方式来获得输出没有切片/使用上面的方法?
谢谢
此答案未解决小数点后5位的格式约束。 – vincentmajor
这个答案是第一行,有问题的第二行已经照顾小数点后5位 –