Оператор del
Существует способ удалить элемент из списка по его индексу вместо значения: оператор del. Это отличается от метода pop (), который возвращает значение. Оператор del также можно использовать для удаления срезов из списка или очистки всего списка (что мы делали ранее путем назначения пустого списка срезу) ссылка
Код:
list1 = ['1', '2', '3', '4']
list2 = ['0', '0', '0', '0']
variable = '1'
idx = list1.index(variable)
del list1[idx]
list2[idx] = variable
print(f"list1: {list1}")
print(f"list2: {list2}")
Вывод:
list1: ['2', '3', '4']
list2: ['1', '0', '0', '0']
Кроме того, вы можете удалить фрагмент list
с del
:
>>> list1 = ['1', '2', '3', '4']
>>> del list1[2:3]
>>> list1
['1', '2', '4']
Если вы используете insert()
, вы получите это:
list.insert (i, x) Вставьте предмет в заданную позицию. Первый аргумент - это индекс элемента, перед которым нужно вставить, поэтому a.insert (0, x) вставляет в начало списка, а a.insert (len (a), x) эквивалентен a.append (Икс). ссылка
Код:
list1 = ['1', '2', '3', '4']
list2 = ['0', '0', '0', '0']
variable = '1'
idx = list1.index(variable)
del list1[idx]
list2.insert(idx, variable)
print(f"list1: {list1}")
print(f"list2: {list2}")
Выход:
list1: ['2', '3', '4']
list2: ['1', '0', '0', '0', '0']
Реализуйте это с помощью pop()
:
list.pop ([i]) Удалите элемент в указанной позиции в списке,и верни это. Если индекс не указан, a.pop () удаляет и возвращает последний элемент в списке. (Квадратные скобки вокруг i в сигнатуре метода означают, что параметр является необязательным, а не то, что вы должны вводить квадратные скобки в этой позиции. Вы часто будете видеть эту запись в Справочнике по библиотеке Python.) reference
Код:
def do_some_stuff(variable):
list1 = ['1', '2', '3', '4']
list2 = ['0', '0', '0', '0']
idx = list1.index(variable)
list2[idx] = list1.pop(idx)
print(f"list1: {list1}")
print(f"list2: {list2}")
if __name__ == '__main__':
do_some_stuff(variable='1')
Выход:
list1: ['2', '3', '4']
list2: ['1', '0', '0', '0']