В настоящее время я пытаюсь создать код, который может сканировать строку, поместить позицию каждой буквы в список, связанный с буквой (например: если вы найдете S как 35, 48 и 120 буквой строки, он будет помещать 35, 48 и 120 в список для буквы S). Затем он помещает этот список в словарь как значение с ключом S.python: Noob IndexError
Моя проблема проста, у меня есть индекс IndexError: список назначения вне диапазона, когда я пытаюсь поместить значение в список, но я не могу понять, почему.
string = "Squalalanoussommespartisetjetedteste"
taille = len(string)
dico = dict()
dico = {}
i = 0
for i in range(taille):
if string[i] == "A" or string[i] == "a" :
va = 0
valA = []
valA[va] = i
va = va + 1
print(valA)
Прошу прощения за мой бедный английский и благодарю вас за помощь.
Вы пытаетесь получить доступ к элементу 0 в пустом списке => IndexError. Используйте valA.append (i), который добавит другой элемент в ваш список (в конце), и вам не нужно поддерживать индекс va в коде. – poko
Ну, это просто сделать список одним элементом, а затем стереть прежний. Может, я сделал что-то не так? –
О, боже мой, ты просто взорвал мой разум названием этого вопроса. Было бы так здорово, если бы определенные ошибки (не обязательно простые) назывались NoobIndexError и т. П. Если я когда-либо напишу язык программирования, ожидаем, что вас встретят предупреждения о NoobErrors. Серьезно, что может быть более смешным, чем грубый интерпретатор/компилятор. Также решения будут легко найти в сети: D Спасибо, Раэган, вы сделали мой день. PS. @AbishekKushnoor имеет для вас ответ, кроме put 'valA = []' вне цикла for:) – Born2Smile