2016-06-06 4 views
0

Я использую библиотеку googlemaps для измерения расстояния между двумя точками. Вот его вывод. Кто-нибудь знает, как назначить расстояние ('text': '1,271km') переменной?получить значения словаря из списка python

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() 
+0

Что происходит, когда у вас есть более чем на 1 строку в 'rows'? – Nicarus

ответ

1

Я предполагаю, что вы разместили только 1 строку и 1 элемент, но ваши данные могут иметь больше, чем это.

Это, как вы можете перебирать и извлечь значение расстояния, например:

>>> for row in dic['rows']: 
... for element in row['elements']: 
...  text = element['distance']['text'] 
... 
>>> text 
'1,271 km' 
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