Форум сайта python.su
0
При попытке удалить вложенный список, найденный по значению, выдает ошибку: index out of range в 23 строке (if name == spisok
Не могу понять почему. Вроде все верно. Кто объяснит в чем проблема? Помогите разобраться пожалуйста.
# Список рекордов x = None spisok = [["вася", "100"], ["паша", "200"], ["ваня", "400"]] while x != "0": print("""Список рекордов: 0 - выход 1 - добавить рекорд 2 - удалить рекорд x = input("Сделайте свой выбор") if x == "0": print("Досвидания!") elif x == "1": # добавляем новый рекорд name = input("введите имя") record = input("введите рекорд в виде числа") zapis = [name, record] spisok.append(zapis) print(spisok) elif x == "2": # удаляем рекорд name = input("введите имя, чей рекорд хотите удалить, или сам рекорд") for i in range(len(spisok)): for k in range(len(spisok[i])): [size 32] if name == spisok[i][k]:[/size][size 32][/size] print("нашел", i, k) delate = [spisok[i][0], spisok[i][1]] print(delate) spisok.remove(delate) print(spisok) else: x = None
Офлайн
0
Люди, отзовитесь!
Офлайн
221
AlehinAlSergво первых не истерите, у меня постоянная прописка не на этом форуме, а в своей квартире, в которой я живу. Такая же ситуация и у других людей. Сюда заходят тогда когда есть на это время и желание.
Люди, отзовитесь!
>>> l = range(5) >>> for i in xrange(len(l)): ... print(i), ... print(len(l)), ... l.remove(l[i]) ... print(len(l)), ... print ... 0 5 4 1 4 3 2 3 2 3 2 Traceback (most recent call last): File "<stdin>", line 4, in <module> IndexError: list index out of range
for i in range(len(spisok) - 1, -1, -1):
Офлайн
0
Спасибо!
Офлайн