2017-10-04 31 views
0

這是我的字典sd = gmaps.geocode('New Delhi')類型錯誤:字符串指標必須integers.What應該怎樣做才能避免這個錯誤

[{'address_components': [{'long_name': 'New Delhi', 'short_name': 'New Delhi', 'types': ['locality', 'political']}, {'long_name': 'Delhi', 'short_name': 'DL', 'types': ['administrative_area_level_1', 'political']}, {'long_name': 'India', 'short_name': 'IN', 'types': ['country', 'political']}], 'formatted_address': 'New Delhi, Delhi, India', 'geometry': {'bounds': {'northeast': {'lat': 28.65048, 'lng': 77.3449601}, 'southwest': {'lat': 28.4041, 'lng': 77.07301009999999}}, 'location': {'lat': 28.6139391, 'lng': 77.2090212}, 'location_type': 'APPROXIMATE', 'viewport': {'northeast': {'lat': 28.65048, 'lng': 77.3449601}, 'southwest': {'lat': 28.4041, 'lng': 77.07301009999999}}}, 'place_id': 'ChIJLbZ-NFv9DDkRzk0gTkm3wlI', 'types': ['locality', 'political']}] 

我希望得到一個整型在'lat''lng'sd

這是我的代碼

lat = [] 
lng = [] 
for x in sd: 
    for y in sd: 
     for z in y["geometry"]: 
      lat.append(z["location"]["lat"]) 

for x in sd: 
    for y in sd: 
     for z in y["geometry"]: 
      lng.append(z["location"]["lng"]) 

print(lat, lng) 

線當我運行它,這個錯誤會出現

TypeError: string indices must be integers

我希望你們能幫助我。

回答

0

爲y [「幾何」]是字典不是一個列表,所以我們需要以不同的方式來訪問

試試下面代碼:

lat = [] 
lng = [] 
for x in sd: 
    for y in sd: 
     lat.append(y["geometry"]['location']['lat']) 
     lng.append(y["geometry"]['location']['lng']) 
+0

感謝您的幫助先生它工作 –

0

因爲而不是通過字典搜索,你正在閱讀的鍵(或價值)

相關問題