Найти - Пользователи
Полная версия: TypeError: list indices must be integers or slices not str
Начало » Python для новичков » TypeError: list indices must be integers or slices not str
1
DexML0
Получаю данные в формате json:
 {
   "destination_addresses" : [
      "Большой проспект Васильевского острова, 3, 1, Санкт-Петербург, Россия, 199034"
   ],
   "origin_addresses" : [
      "1-й Вязовский пр-д, 4, стр. 19, Москва, Россия, 109428"
   ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "720 км",
                  "value" : 719843
               },
               "duration" : {
                  "text" : "6 дн. 2 ч.",
                  "value" : 525677
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
}

Пытаюсь вывести:
 soobs = f"Расстояние: {w['rows']['elements']['distance']['text']}"	
        return await msg.answer(soobs)
Но выдает ошибку (в шапке), буду благодарен за помощь
Rodegast
w это список словарей, к спискам ты можешь обращаться только по индексу.
DexML0
Rodegast
w это список словарей, к спискам ты можешь обращаться только по индексу.
Если вам не трудно можно маленький пример?
Rodegast
 w['rows'][0]['elements'][0]['distance']['text']
Но это будет корректно работать если rows и distance гарантированно содержат 1 элемент. В противном случае по этим спискам нужно проходить циклами, но тогда у тебя будет уже не 1 строка, а список строк.
DexML0
Rodegast
Понял, спасибо большое, всего хорошего)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB