簡體   English   中英

TypeError:字符串索引必須是整數。如何避免此錯誤

[英]TypeError: string indices must be integers.What should I do to avoid this error

這是我的字典sd = gmaps.geocode('New Delhi')

[{'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']}]

我想在sd獲取'lat''lng'中的int

這是我的代碼行

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:字符串索引必須是整數

我希望你們能幫助我。

因為不是在搜索字典,而是在讀取鍵(或值)

由於y [“ geometry”]是字典而不是列表,因此我們需要以其他方式進行訪問

嘗試以下代碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM