Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 26, 2018 14:41:37

DexML0
Зарегистрирован: 2018-04-25
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

TypeError: list indices must be integers or slices not str

Получаю данные в формате 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)
Но выдает ошибку (в шапке), буду благодарен за помощь

Отредактировано DexML0 (Апрель 26, 2018 14:43:36)

Офлайн

#2 Апрель 26, 2018 14:50:38

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2683
Репутация: +  182  -
Профиль   Отправить e-mail  

TypeError: list indices must be integers or slices not str

w это список словарей, к спискам ты можешь обращаться только по индексу.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Апрель 26, 2018 14:52:48

DexML0
Зарегистрирован: 2018-04-25
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

TypeError: list indices must be integers or slices not str

Rodegast
w это список словарей, к спискам ты можешь обращаться только по индексу.
Если вам не трудно можно маленький пример?

Офлайн

#4 Апрель 26, 2018 14:57:57

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2683
Репутация: +  182  -
Профиль   Отправить e-mail  

TypeError: list indices must be integers or slices not str

 w['rows'][0]['elements'][0]['distance']['text']
Но это будет корректно работать если rows и distance гарантированно содержат 1 элемент. В противном случае по этим спискам нужно проходить циклами, но тогда у тебя будет уже не 1 строка, а список строк.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Апрель 26, 2018 14:58:44

DexML0
Зарегистрирован: 2018-04-25
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

TypeError: list indices must be integers or slices not str

Rodegast
Понял, спасибо большое, всего хорошего)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version