gpt4 book ai didi

python - 在 python 中格式化对象列表

转载 作者:太空宇宙 更新时间:2023-11-03 15:23:14 24 4
gpt4 key购买 nike

我读过很多与我的问题相关的类似问题,但我没有看到专门针对此问题的问题。 我有一个对象列表,例如

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 “bytes 对象没有自己的 __format__ 方法,因此使用对象的默认方法。”并建议将其转换为字符串 - 这导致了相同的错误。

我的问题本质上是,有没有办法修复这个错误,或者有更好的方法在不切片/使用上面的方法的情况下获得输出?

谢谢,

最佳答案

使用简单的列表理解。

>>> l = (('a', 0.5), ('b', 0.75), ('c', 0.954367))
>>> ["{:.5f}".format(i[1]) for i in l]
[ '0.50000', '0.75000', '0.95437']

关于python - 在 python 中格式化对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43351962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com