Python OOP – eliminando la instancia de clase de una lista

Tengo una lista donde guardo los objetos creados por una clase específica.

Me gustaría saber, porque no puedo resolver este problema, ¿cómo elimino una instancia de la clase de la lista?

Esto debería suceder basándose en conocer un atributo del objeto.

Iterar a través de la lista, encontrar el objeto y su posición, luego eliminarlo:

for i, o in enumerate(obj_list): if o.attr == known_value: del obj_list[i] break 

Podrías usar una lista de comprensión:

 thelist = [item for item in thelist if item.attribute != somevalue] 

Esto eliminará todos los elementos con item.attribute == somevalue .

Si desea eliminar solo uno de estos elementos, utilice la solución de WolframH .

Podrías haberlos guardado en un dict y quitarlos por nombre

 di = {"test" : my_instance()} del di['test']