我已經閱讀了很多與我的問題相關的類似問題,但我沒有看到任何具體的問題。 我有對象的列表,如在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位 –