回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在使用<code>googlemaps</code>库来查询googlemapsapi。我想根据邮政编码提取一个城市的名称。在</p>
<p>例如,对于邮政编码<code>23325</code>,我想提取<code>Chesapeake</code>。在</p>
<p>这是我的初始代码:</p>
<pre><code>import googlemaps
from keys import google_api_key
gmaps = googlemaps.Client(key=google_api_key)
geocode_result = gmaps.geocode('23325')
print(geocode_result)
</code></pre>
<p>以下是打印地理编码结果的结果:<br/>
<code>[{'address_components': [{'long_name': '23325', 'short_name': '23325', 'types': ['postal_code']}, {'long_name': 'Indian River', 'short_name': 'Indian River', 'types': ['neighborhood', 'political']}, {'long_name': 'Chesapeake', 'short_name': 'Chesapeake', 'types': ['locality', 'political']}, {'long_name': 'Virginia', 'short_name': 'VA', 'types': ['administrative_area_level_1', 'political']}, {'long_name': 'United States', 'short_name': 'US', 'types': ['country', 'political']}], 'formatted_address': 'Chesapeake, VA 23325, USA', 'geometry': {'bounds': {'northeast': {'lat': 36.8399469, 'lng': -76.21933109999999}, 'southwest': {'lat': 36.7870261, 'lng': -76.25747489999999}}, 'location': {'lat': 36.8179707, 'lng': -76.2305308}, 'location_type': 'APPROXIMATE', 'viewport': {'northeast': {'lat': 36.8399469, 'lng': -76.21933109999999}, 'southwest': {'lat': 36.7870261, 'lng': -76.25747489999999}}}, 'place_id': 'ChIJTcQMfRK9uokRcVFVU9zMizw', 'types': ['postal_code']}]</code></p>
<p>当我看类型时<br/>
<code>print(type(geocode_result))</code></p>
<p>Python告诉我<br/>
<code><class 'list'></code></p>
<p>如果我尝试类似<code>geocode_result[1]</code>的操作,则会收到以下错误消息:
<code>IndexError: list index out of range</code></p>
<p>如果我尝试<code>geocode_result['address_components']</code>我会收到一条<code>TypeError: list indices must be integers or slices, not str</code>消息</p>
<p>任何帮助将不胜感激!谢谢您!在</p>