Python:总结浮点数

时间:2013-03-05 06:14:36

标签: python-2.7

如果我有一个存储在名为b_split [1]的变量中的字符串列表。基本上,b_split中的第一个位置包含这些纬度值作为字符串。

  

[ '10.2']
  ['10 0.4' ]
  ['10 0.5' ]

我希望能够总结出来......

for i in text_file:
    latitude = float(b_split[1])
print sum(latitude)

它给出了一个错误,即'float'对象不可迭代

2 个答案:

答案 0 :(得分:2)

纬度应该是一个列表

它应该是

latitude.append(float(b_split[1]))

最后

print sum(latitude)

答案 1 :(得分:0)

如果您不需要结果列表并且只想对项目求和,您可以尝试将您关心的项目直接传递给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

这会在列表中的每个项目的float中创建generator,并对每个项目进行求和。正如@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错误。