Python | Eliminar elementos en el rango

La eliminación de un solo elemento es comparativamente más fácil, pero cuando deseamos eliminar un elemento dentro del rango, la tarea se vuelve tediosa una vez debido a los reordenamientos y cambios de elementos de la lista automáticamente en python. Analicemos ciertas formas en que los elementos se pueden eliminar en el rango.

Método #1: Usar del +sorted()
En este método, invertimos la lista de índices que deseamos eliminar y los eliminamos de la lista original al revés para que la reorganización de la lista no destruya la integridad de la solución.

# Python3 code to demonstrate
# range deletion of elements 
# using del + sorted()
  
# initializing list 
test_list = [3, 5, 6, 7, 2, 10]
  
# initializing indices
indices_list = [1, 4, 2]
  
# printing the original list
print ("The original list is : " + str(test_list))
  
# printing the indices list
print ("The indices list is : " + str(indices_list))
  
# using del + sorted()
# range deletion of elements
for i in sorted(indices_list, reverse = True):
    del test_list[i]
  
# printing result
print ("The modified deleted list is : " + str(test_list))
Producción:

The original list is : [3, 5, 6, 7, 2, 10]
The indices list is : [1, 4, 2]
The modified deleted list is : [3, 7, 10]

 
Método n.º 2: Uso enumerate()de la comprensión de listas +
Esta tarea también se puede realizar si creamos una lista que no tenga los elementos de la lista de eliminación, es decir, en lugar de eliminar los elementos, podemos rehacerla sin ellos.

# Python3 code to demonstrate
# range deletion of elements 
# using enumerate() + list comprehension
  
# initializing list 
test_list = [3, 5, 6, 7, 2, 10]
  
# initializing indices
indices_list = [1, 4, 2]
  
# printing the original list
print ("The original list is : " + str(test_list))
  
# printing the indices list
print ("The indices list is : " + str(indices_list))
  
# using enumerate() + list comprehension
# range deletion of elements
test_list[:] = [ j for i, j in enumerate(test_list)
                         if i not in indices_list ]
  
# printing result
print ("The modified deleted list is : " + str(test_list))
Producción:

The original list is : [3, 5, 6, 7, 2, 10]
The indices list is : [1, 4, 2]
The modified deleted list is : [3, 7, 10]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *