任何人都知道如何解决这个问题? 我有以下代码。
result=[]
for i in range(len(response_i['objcontent'][0]['rowvalues'])):
lat = response_i['objcontent'][0]['rowvalues'][i][0]
print(lat)
for i in lat:
result.append(i)
print (result)
以下是print(lat)
的输出:
92.213725
191.586143
228.981615
240.353291
以下是print(result)
:
['9', '2', '.', '2', '1', '3', '7', '2', '5', '1', '9', '1', '.', '5', '8',
'6', '1', '4', '3', '2', '2', '8', '.', '9', '8', '1', '6', '1', '5', '2',
'4', '0', '.', '3', '5', '3', '2', '9', '1']
我希望以下列格式获得输出:
[92.213725, 191.586143, 228.981615, 240.353291]
任何人都知道如何解决这个问题?
由于
答案 0 :(得分:2)
因此,您的错误是,您不是简单地将latitute
添加到列表中,而是以字符串形式迭代纬度的每个字符,并将该字符添加到列表中。
result=[]
for value in response_i['objcontent'][0]['rowvalues']:
lat = value[0]
print(lat)
result.append(float(lat))
print (result)
除此之外,使用范围(len(...)))是几乎所有现代语言必须完成的事情,因为它们要么不实现“for ... each”,要么实现不完整或错误的方式。
在Python中,从一开始就给出了每当想要迭代时他想要获得序列的项而不是其索引(用于索引的后验检索)。一些辅助的内置函数可以确保您只需要对序列进行交互:zip可以混合一个或多个序列,如果需要,还可以枚举以生成索引。