在转换为python字典的嵌套JSON中访问键的值

在转换为python字典的嵌套JSON中访问键的值,python,json,python-3.x,Python,Json,Python 3.x,我希望访问'elevation'的值,即1608.637939453125并将其存储到变量'g'中。下面是代码 import requests, json r = requests.get(api link) r= json.loads(r.text) g=r['results']['elevation'] 上面的代码返回此错误 TypeError: list indices must be integers or slices, not str 这是字典数据 { "

我希望访问
'elevation'
的值,即
1608.637939453125
并将其存储到变量
'g'
中。下面是代码

    import requests, json
r = requests.get(api link)

r= json.loads(r.text)

g=r['results']['elevation']
上面的代码返回此错误

TypeError: list indices must be integers or slices, not str
这是字典数据

  {

   "results" : [
      {
         "elevation" : 1608.637939453125,
         "location" : {
            "lat" : 39.7391536,
            "lng" : -104.9847034
         },
         "resolution" : 4.771975994110107
      }
   ],
   "status" : "OK"
}

在本例中,
results
是一个字典列表,而不是另一个字典。因此,您必须访问
高程的值,如下所示:

g = x['results'][0]['elevation']
for result in x['results']:
  print(result)
如果结果在列表中有更多的条目(这是常见的),您可以这样循环:

g = x['results'][0]['elevation']
for result in x['results']:
  print(result)

这很有效。谢谢您。您能解释一下为什么我需要添加[0]吗?当然,结果是一个列表,所以要访问列表中的元素,您需要使用列表索引(它是一个整数)。python中的列表没有索引,因此可以使用
x['results'][0]
访问列表中的第一个结果