← Все вопросы
TypeError: string indices must be integers — лезу в строку по ключу
5
Думал, что в переменной словарь, обращаюсь по ключу, а падает TypeError: string indices must be integers:
user = "Аня"
print(user["name"])
Что значит "string indices must be integers"?
1 ответ
10
✓ Принятый ответ — помог автору
В user лежит строка, а не словарь. У строки можно брать символ только по числовому индексу (user[0]), а по текстовому ключу "name" — нельзя. Питон говорит "индексы строки должны быть целыми числами".
Если тебе нужен словарь — заведи его явно:
user = {"name": "Аня"}
print(user["name"]) # Аня
Часто эта ошибка всплывает, когда из JSON/функции пришла строка там, где ты ждал словарь — проверь type(user), чтобы убедиться, что у тебя реально лежит в переменной.
Ваш ответ
Войдите, чтобы ответить на вопрос.