从列表python中获取字典的值

时间:2016-06-06 18:52:54

标签: python python-2.7 python-3.x

我正在使用googlemaps库来测量两点之间的距离。这是它的输出。有谁知道如何将距离('text': '1,271km')分配给变量?

dic = {'rows': [{'elements': [{'distance': {'value': 1271380,
                                            'text': '1,271 km'},
                               'duration': {'value': 43350,
                                            'text': '12 hours 3 mins'},
                               'status': 'OK'}]}],
       'status': 'OK',
       'destination_addresses': ['New York, NY, USA'],
       'origin_addresses': ['Chicago, IL, USA']}

示例:

for x in dic:
     if x == 'distance':
         var = x.values()

2 个答案:

答案 0 :(得分:1)

我假设您只发布了1行和1个元素,但您的数据可能不止于此。

这是迭代和提取距离值的方法,例如:

>>> for row in dic['rows']:
...   for element in row['elements']:
...     text = element['distance']['text']
... 
>>> text
'1,271 km'

答案 1 :(得分:0)

In [1]: distance = dic['rows'][0]['elements'][0]['distance']['text']
In [2]: distance
Out[1]: '1,271 km'
In [3]: duration = dic['rows'][0]['elements'][0]['duration']['text']
In [4]: duration
Out[2]: '12 hours 3 mins'

像这样使用。但这尤其适用于dict