@MANER

Почему в python вылетает ошибка list index out of range?

Вот мой код:

a = list(input().split('//'))
b = list()
c = list()
d = list()
f = list()
h = list()
n = list()
for i in range(len(a)):
    b = a[i].split(' - ')
    c = b[1]
    d.append(c)
g = ('; '.join(d))
h = g.split(';')
for j in range(len(h)):
    n = h
    n.remove(n[j]) 
    if h[j] not in n:
        print(h[j])


ошибка в части:
if h[j] not in n: (предпоследняя строчка)
  • Вопрос задан
  • 6178 просмотров
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Вы вот здесь делаете присвоение.
n = h
n.remove(n[j])
if h[j] not in n:
    print(h[j])

В питоне переменные работают не так как в других языках программирования. n и h - это после присвоения два имени одного и того же объекта (списка). Удаляя из него элемент вы тут же его пытаетесь получить в этом же объекте из под другого имени.
Вместо присвоения такого, делайте так:
n = h[:]
Это скопирует список, а не создаст еще одно имя старому.
Ответ написан
Ваш ответ на вопрос

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

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