@srgvac
Разработчик любитель

Можно ли указать индекс в переменной?

Привет! Хотел бы спросить,можно ли указать индекс в переменной?
Если да,то прошу подсказать как.
Пробовал просто вот так:
i = 0
a[i]
IndexError: list index out of range

Выдавало ошибку
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Можно, если переменная содержит индексируемый тип данных. Ошибку вам выдало потому, что в переменной a содержится пустой список, у которого нет элемента с индексом 0.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@bacon
Ну так если "a" пустой список, что ты хочешь от него получить по индексу?
Ответ написан
NeiroNx
@NeiroNx
Программист
a = [] #список
a[0] = 1 #ошибка потому что в списке нет 0 элемента и вообще никаких нет.
b = {} #словарь
b[0] = 1 #нет ошибки потому что отсутсвующие ключи словаря создаются в такой конструкции

разница в том что в списке элемент должен существовать как для чтения так и для записи
а в словаре он должен существовать только для чтения, потому что при записи он создается сам.

если нужен именно список, то надо заполнить его заранее.
a = [None]*100
a[0] = 1 #теперь ошибки нет потому что в списке 100 элементов None
a[100]  = 1 #снова ошибка потому что индекс 100 это 101 элемент по порядку, которого нет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы