【发布时间】:2020-12-11 09:08:45
【问题描述】:
我正在尝试将列表中所有项目的格式从浮点数更改为整数。我的代码似乎可以完成这项工作,但它正在改变列表中项目的顺序。
一个可重现的例子:
l = [-1.0, 0.0, 1.0]
[int(f'{float(l[int(i)]):g}') for i in l]
>>> Out: [1, -1, 0]
知道如何避免这些元素的重新排列吗?
谢谢。
【问题讨论】:
-
它是因为您正在使用值索引列表,
l[int(i)] -
为什么不直接使用
[int(i) for i in l]? -
i不返回0,1,2它返回-1,0,1因此你的列表中会有1,-1,0 -
感谢您的回复。我正在编写一个适用于许多情况的通用脚本。自从我访问此脚本以来已经有一段时间了,并且忘记了为什么要添加这种复杂性。你能想到任何简单的地图/基本列表理解解决方案不起作用的情况吗?
标签: python list format integer decimal