Удалить несколько элементов из списка в Python

| | | | | | | | |

Пример:

Ввод:  [12, 15, 3, 10] Вывод:  Удалить = [12 , 3], New_List = [15, 10] Ввод:  [11, 5, 17, 18, 23, 50] Вывод:  Удалить = [1: 5], New_list = [11, 50] 

Некоторые элементы могут быть удалены из списка в Python на основе наших знаний о данных. Мол, мы просто знаем значения, которые нужно удалить, или мы также знаем индексы этих значений. Давайте рассмотрим разные примеры, основанные на другом сценарии.

Пример № 1: Допустим, мы хотим удалить каждый элемент в списке, который делится на 2 или все четные числа.

# Программа Python для удаления нескольких
# элементов списка


# создать список

list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ]


# Итерировать каждый элемент в списке
# и добавить их в сумме

for ele in list1:

if ele % 2 = = 0 :

list1.remove (ele)


# распечатать измененный список

print ( "Новый список после удаления всех четных чисел:" , list1)

Выход:

Новый список после удаления всех четных чисел: [11, 5, 17, 23] 

Пример № 2: Использование понимания списка

Удалить все четные элементы из списка так же хорошо, как включить все нечетные элементы (т. е. нечетные элементы).


# Программа Python для удаления нескольких
# элементов списка


# создать список

list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ]


# создаст новый список,
# исключить все четные числа

list1 = [elem для elem in list1 if elem % 2 ! = 0 ]


print ( * list1)

Выход:

11 5 17 23 

Пример 3. Удаление смежных элементов с помощью срезов списка

В приведенном ниже коде Python удаляются значения ‚Äã‚Äãот индекса 1 до 4.


# Программа Python для удаления нескольких
# элементов списка


# создать список

list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ]


# удаляет элементы с 1 по 4 из индекса
5, 17, 18, 23 будут удалены

del list1 [ 1 : 5 ]


print ( * list1)

Выход:

11 50 

Пример № 4: Использование понимания списка

Допустим, что элементы, которые нужно удалить, известны, а не индексы этих элементов. В этом случае мы можем напрямую исключить эти элементы, не беспокоясь об индексах, которые мы увидим в следующем примере.



# Программа Python для удаления нескольких
# элементов из списка


# create список

list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ]


Количество удаляемых элементов

нежелательный_номер = { 11 , 5 }


list1 = [ele для ele в list1 if ele не in нежелательный_номер]


# распечатать измененный список

print ( " Новый список после удаления ненужных номеров:" , list1)

Выход:

Новый список после удаления ненужного номера s: [17, 18, 23 , 50] 

Пример № 5: когда известен индекс элементов.

Хотя индексы элементов известны, случайное удаление элементов изменит значения индексов. Поэтому всегда рекомендуется сначала удалять самые большие индексы. Используя эту стратегию, индекс меньших значений не будет изменен. Мы можем отсортировать список в обратном порядке и удалить элементы списка в порядке убывания.


< tr>

# Программа Python для удаления нескольких
# элементов списка


# создать список

list1 = [ 11 , 5 , 17 , 18 , 23 , 50 ]


# данный индекс элемента
# удаляет 11, 18, 23

нежелательный = [ 0 , 3 , 4 ]


for ele in отсортировано (нежелательное, обратное = True ):

del list1 [ele]


# вывести измененный список

print ( * список 1)

Вывод:

5 17 50