Eliminar objeto de una lista de objetos en python

En Python, ¿cómo puedo eliminar un objeto de una matriz de objetos? Me gusta esto:

x = object() y = object() array = [x,y] # Remove x 

He intentado array.remove() pero solo funciona con un valor, no una ubicación específica en la matriz. Necesito poder eliminar el objeto dirigiéndome a su posición ( remove array[0] )

Related of "Eliminar objeto de una lista de objetos en python"

En Python no hay arrays, en su lugar se usan listas. Hay varias formas de eliminar un objeto de una lista:

 my_list = [1,2,4,6,7] del my_list[1] # Removes index 1 from the list print my_list # [1,4,6,7] my_list.remove(4) # Removes the integer 4 from the list, not the index 4 print my_list # [1,6,7] my_list.pop(2) # Removes index 2 from the list 

En su caso, el método apropiado para usar es pop, porque toma el índice que se va a eliminar:

 x = object() y = object() array = [x, y] array.pop(0) # Using the del statement del array[0] 
 del array[0] 

donde 0 es el índice del objeto en la lista (no hay ninguna matriz en Python)

Si desea eliminar varios objetos de una lista. Hay varias formas de eliminar un objeto de una lista

Prueba este código. a es la lista con todos los objetos, b es la lista de objetos que desea eliminar.

ejemplo:

 a = [1,2,3,4,5,6] b = [2,3] for i in b: if i in a: a.remove(i) print(a) 

La salida es [1,4,5,6] Espero que funcione para usted.

Si conoce la ubicación de la matriz, puede pasarla a sí misma. Si está eliminando varios elementos, le sugiero que los elimine en orden inverso.

 #Setup array array = [55,126,555,2,36] #Remove 55 which is in position 0 array.remove(array[0]) 

¿Puedes intentar esto para eliminar dinámicamente un objeto de una matriz sin recorrerlo? Donde e y t son solo objetos aleatorios.

 >>> e = {'b':1, 'w': 2} >>> t = {'b':1, 'w': 3} >>> p = [e,t] >>> p [{'b': 1, 'w': 2}, {'b': 1, 'w': 3}] >>> >>> p.pop(p.index({'b':1, 'w': 3})) {'b': 1, 'w': 3} >>> p [{'b': 1, 'w': 2}] >>> 

si desea eliminar el último, simplemente haga your_list.pop(-1) si desea eliminar el primero your_list.pop(0) o cualquier índice que desee eliminar