Python 2.7 Python:对浮点进行求和

Python 2.7 Python:对浮点进行求和,python-2.7,Python 2.7,如果我有一个字符串列表存储在一个名为b_split[1]的变量中。基本上,b_split中的第一个位置包含这些纬度值作为字符串 ['10.2'] ['10.4'] ['10.5'] 我想把它们总结一下 for i in text_file: latitude = float(b_split[1]) print sum(latitude) 它给了我一个错误,即“float”对象不可编辑纬度应该是一个列表 应该是这样 latitude.append(float(b_split[1]))

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

['10.2']
['10.4']
['10.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所提到的,您之所以会出现错误,是因为您实际上在每次迭代中都重新分配了
纬度
,并且您的最终结果是一个浮点值(而不是列表/iterable):


因此,当您尝试对其进行求和时,会出现上面所示的错误,因为求和。由于您无法迭代
浮点
,因此会出现
不可编辑
错误。

非常感谢!我得到了它!
In [3]: for item in my_list:
   ...:     my_var = float(item)
   ...:     

In [4]: print my_var
10.5