如果我有一个存储在名为b_split [1]的变量中的字符串列表。基本上b_split中的第一个位置包含这些纬度值作为字符串。Python:总结一个浮点数
['10 2.2 ']
['10 2.4']
['10 0.5' ]
我希望能够总结起来..
for i in text_file:
latitude = float(b_split[1])
print sum(latitude)
它给我一个错误,认为'float'对象是不可迭代的
如果我有一个存储在名为b_split [1]的变量中的字符串列表。基本上b_split中的第一个位置包含这些纬度值作为字符串。Python:总结一个浮点数
['10 2.2 ']
['10 2.4']
['10 0.5' ]
我希望能够总结起来..
for i in text_file:
latitude = float(b_split[1])
print sum(latitude)
它给我一个错误,认为'float'对象是不可迭代的
纬度应该是一个列表
,它应该是
latitude.append(float(b_split[1]))
最后
print sum(latitude)
如果您不需要生成的列表中,只是要总结的项目,你可以尝试通过您所关心的项目直接向sum
功能:
In [1]: my_list = ['10.2', '10.4', '10.5']
In [2]: sum(float(item) for item in my_list)
Out[2]: 31.1
此创建的您的列表中的每个项目,并对每个项目进行汇总。正如@avasal提到的,你得到你的错误的原因是因为你实际上是在每次迭代重新分配latitude
,你的最终结果是一个浮点数(而不是列表/迭代):
In [3]: for item in my_list:
...: my_var = float(item)
...:
In [4]: print my_var
10.5
因此,当你试试sum
吧,你得到上面的错误,因为总和为sums the elements of an iterable。由于您无法遍历float
,因此会出现not iterable
错误。
非常感谢!我知道了! – LaffyTaffyKidd 2013-03-05 17:15:00