我有一个列表lats
,其中每个元素如下所示:
48.16821784360847
48.1684475413586
48.16839850451211
我希望遍历整个列表,并更新列表,使每个项目四舍五入到小数点后3位。例如,新列表应为:
48.168
48.168
48.168
我正在尝试:
for i in lats:
lats[i] = round(i, 3)
但它抛出了一个错误:
TypeError: list indices must be integers or slices, not float
Tags:
这样做:
错误如下。 列表的元素是浮点数。因此,当您对它进行迭代时,
i
等于该列表中的一个值。列表索引只能使用整数lats[i]
正在替换引发错误的浮点值这一错误不言而喻——
问题在您的for循环中-
这样做的目的是在每次迭代中获取LAT中的每个元素,因此问题在于您实际上正在尝试执行-
因此,你需要做-
如果您这样做
for i in lats:
i
将是数字(如48.16821784360847
)。如果使用for i in range(len(lats)):
,则i
将是0,1,2
,依此类推这将有助于:
相关问题 更多 >
编程相关推荐