Вам нужно только позаботиться о том, чтобы удаляющая часть вашего кода не запускалась дважды.
lst = [1,2,3,7,8,9,10,7] # [1, 2, 3, 7, 8, 9, 10, 7]
print(lst)
for i in range(len(lst)):
if lst[i] == 7:
del lst[i] # [1, 2, 3, 8, 9, 10, 7]
break
print(lst)
Она работает точно так же, как указано ниже:
lst = [1,2,3,7,8,9,10,7]
print(lst) # [1, 2, 3, 7, 8, 9, 10, 7]
for i in range(len(lst)):
if lst[i] == 7:
lst.pop(i)
break
print(lst) # [1, 2, 3, 8, 9, 10, 7]
кака также это
lst = [1,2,3,7,8,9,10,7]
print(lst) # [1, 2, 3, 7, 8, 9, 10, 7]
for i in range(len(lst)):
if lst[i] == 7:
lst.remove(lst[i])
break
print(lst) # [1, 2, 3, 8, 9, 10, 7]
Обзор используемых методов:
- del list [i] - Оператор del также можно использовать для удаления фрагментов изсписок
- list.pop - удалить и вернуть элемент по индексу (последний по умолчанию). Вызывает IndexError, если список пуст или индекс выходит за пределы диапазона.
- list.remove - удалить первое вхождение значения. Возникает ValueError, если значение отсутствует.