【问题标题】:IndexError: list index out of range coursera assignmentIndexError:列表索引超出范围 coursera 分配
【发布时间】:2019-03-28 17:17:15
【问题描述】:

我的 python 代码有问题。无论我尝试什么,错误INDEXERROR: LIST INDEX OUT OF RANGE 都会一次又一次地出现。谁能帮帮我。我正在添加我的代码和下面的错误消息。

import urllib,json

# serviceurl = 'http://maps.googleapis.com/maps/api/geocode/json?'
serviceurl = 'http://python-data.dr-chuck.net/geojson?'

while True:
    address = input('Enter location: ')
    if len(address) < 1: break

    url = serviceurl + urllib.parse.urlencode({'sensor':'false', 'address': 
address})

    print ('Retrieving ',url)
    url_handle = urllib.request.urlopen(url)
    data = url_handle.read()

print ('Retrieved',len(data),'characters')
json_data = json.loads(data)

#print json.dumps(json_data['results'], indent=3)
print ('Place id',json_data['results'][0]['place_id'])

这是我的错误信息:

Enter location: http://py4e-data.dr-chuck.net/geojson?
Retrieving  http://python-data.dr-chuck.net/geojson?sensor=false&address=http%3A%2F%2Fpy4e-data.dr-chuck.net%2Fgeojson%3F
Retrieved 10092 characters
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-2-a72864740266> in <module>()
     15 
     16     #print json.dumps(json_data['results'], indent=3)
---> 17     print ('Place id',json_data['results'][0]['place_id'])

IndexError: list index out of range

请帮帮我。

【问题讨论】:

    标签: python list ide spyder index-error


    【解决方案1】:

    如果您在 Spyder 的变量浏览器中检查您的变量,您会清楚地看到 json_data['results'] 是一个 列表,或者只是打印它 -

    json_data['results']
    Out[22]: []
    

    因此,当您尝试通过json_data['results'][0] 访问它的第一个元素时,它会给您IndexError 错误,因为它根本不存在。

    编辑:
    我深入挖掘以了解发生了什么-
    如果您提供正确的输入,例如“UCLA”,您将获得一个带有 results 字段中数据的 json。如果我输入UCLA 作为输入,您的脚本会尝试访问此url
    但是,如果在对 serviceurl 的初始调用中没有任何输入,那么您会得到类似 this 的内容,如您所见,result 字段中没有 nothing
    您需要检查您的代码,以便正确处理此问题。

    【讨论】:

    • 如果对您有帮助,介意接受这个答案吗?我确信它确实做到了。
    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 2020-02-03
    • 2018-10-21
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    相关资源
    最近更新 更多