Dada una lista de números, escriba un programa de Python para eliminar varios elementos de una lista en función de la condición dada.
Ejemplo:
Input: [12, 15, 3, 10] Output: Remove = [12, 3], New_List = [15, 10] Input: [11, 5, 17, 18, 23, 50] Output: Remove = [1:5], New_list = [11, 50]
Se pueden eliminar varios elementos de una lista en Python, según el conocimiento que tengamos sobre los datos. Por ejemplo, solo conocemos los valores que se eliminarán o también conocemos los índices de esos valores. Veamos diferentes ejemplos basados en diferentes escenarios.
Ejemplo #1: Digamos que queremos eliminar cada elemento de la lista que es divisible por 2 o por todos los números pares.
Python3
# Python program to remove multiple # elements from a list # creating a list list1 = [11, 5, 17, 18, 23, 50] # Iterate each element in list # and add them in variable total for ele in list1: if ele % 2 == 0: list1.remove(ele) # printing modified list print("New list after removing all even numbers: ", list1)
Producción:
New list after removing all even numbers: [11, 5, 17, 23]
Ejemplo #2: Uso de la comprensión de listas
Eliminar todos los elementos pares en una lista es tan bueno como incluir solo todos los elementos que no son pares (es decir, elementos impares).
Python3
# Python program to remove multiple # elements from a list # creating a list list1 = [11, 5, 17, 18, 23, 50] # will create a new list, # excluding all even numbers list1 = [ elem for elem in list1 if elem % 2 != 0] print(*list1)
Producción:
11 5 17 23
Ejemplo n.º 3: elimine elementos adyacentes mediante el corte de lista
Debajo del código de Python, elimine los valores del índice 1 a 4.
Python3
# Python program to remove multiple # elements from a list # creating a list list1 = [11, 5, 17, 18, 23, 50] # removes elements from index 1 to 4 # i.e. 5, 17, 18, 23 will be deleted del list1[1:5] print(*list1)
Producción:
11 50
Ejemplo #4: Uso de la comprensión
de listas Digamos que se conocen los elementos que se eliminarán, en lugar de los índices de esos elementos. En este caso, podemos eliminar directamente esos elementos sin importar los índices que veremos en el siguiente ejemplo.
Python3
# Python program to remove multiple # elements from a list # creating a list list1 = [11, 5, 17, 18, 23, 50] # items to be removed unwanted_num = {11, 5} list1 = [ele for ele in list1 if ele not in unwanted_num] # printing modified list print("New list after removing unwanted numbers: ", list1)
Producción:
New list after removing unwanted numbers: [17, 18, 23, 50]
Ejemplo #5: Cuando se conoce el índice de elementos.
Aunque los índices de los elementos son conocidos, eliminar los elementos al azar cambiará los valores de los índices. Por lo tanto, siempre se recomienda eliminar primero los índices más grandes. Usando esta estrategia, el índice de valores más pequeños no cambiará. Podemos ordenar la lista en orden inverso y eliminar los elementos de la lista en orden descendente.
Python3
# Python program to remove multiple # elements from a list # creating a list list1 = [11, 5, 17, 18, 23, 50] # given index of elements # removes 11, 18, 23 unwanted = [0, 3, 4] for ele in sorted(unwanted, reverse = True): del list1[ele] # printing modified list print (*list1)
Producción:
5 17 50