eliminar una instancia de un objeto en la lista de python

Creo que esto debería funcionar pero me está dando un error. Tengo una lista que contiene objetos de clase.node. Tengo dos listas diferentes

abrir listalista_nodos (no son lo mismo a lo largo, ordenando)

Cuando encuentro un nodo específico en elopen_list Necesito borrarlo de lanode_list. Sé que las listas tienen direcciones a los objetos almacenados en ellas.

así que cuando trato de hacer

removed = open_list.pop(min_index) 
node_list.remove(removed) 

me da un error diciendo

node_list.remove(removed)
ValueError: list.remove(x): x not in list

pero la lista solo contiene direcciones que actúan como punteros, ¿no? debe coincidir con las mismas direcciones. imprimí la dirección deremoved y el todonode_list (solo 10 elementos por ahora no temen) imprimir: (el último elemento en node_list coincide con la dirección de eliminado:

removed: <__main__.node instance at 0x0124A440>
node_list: [<__main__.node instance at 0x01246E90>, <__main__.node instance at 0x01246EE0>, <__main__.node instance at 0x0124A300>, <__main__.node instance at 0x0124A328>, <__main__.node instance at 0x0124A350>, <__main__.node instance at 0x0124A378>, <__main__.node instance at 0x0124A3A0>, <__main__.node instance at 0x0124A3C8>, <__main__.node instance at 0x0124A3F0>, <__main__.node instance at 0x0124A418>, <__main__.node instance at 0x0124A440>]

Gracias

seguimiento Q

así que quiero comprobar si el nodo que quiero eliminar existe en la lista de nodos. Cuando busqué algunas funciones de lista simple enhttp://docs.python.org/tutorial/datastructures.html

list.index(x) yremove.index(x) ambos dan un error si el elemento no está en la lista. Esto hizo que mi programa dejara de ejecutarse. para evitar esto, ¿puedo usar esta declaración antes de la.remove(): node in node_list creo que elin comprueba si un elemento es parte de una lista y devuelve un bool. sólo una doble verificación gracias,

Respuestas a la pregunta(3)

Su respuesta a la pregunta