removendo uma instância de um objeto na lista python

Eu acho que isso deve funcionar, mas está me dando um erro. Eu tenho uma lista que contém objetos de classenode. Eu tenho duas listas diferentes

lista de aberturanode_list (eles não são os mesmos no sentido do comprimento, ordenação sábia)

Quando eu encontrar um nó específico noopen_list Preciso deletá-lo donode_list. Eu sei que as listas têm endereços para os objetos armazenados neles

então quando eu tento fazer

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

isso me dá um erro dizendo

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

mas a lista contém apenas endereços que agem como ponteiros, certo? ele deve combinar os mesmos endereços. imprimi o endereço deremoved e o todonode_list (apenas 10 itens por enquanto não temam) imprimir: (o último item na lista de nós corresponde ao endereço de removido:

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>]

obrigado

follow-up Q

então eu quero verificar se o nó que eu quero remover existe na node_list. quando eu olhei algumas funções de lista simples emhttp://docs.python.org/tutorial/datastructures.html

list.index(x) eremove.index(x) ambos dão um erro se o elemento não estiver na lista. Isso fez com que meu programa parasse de funcionar. para ignorar isso, posso usar essa declaração antes do.remove(): node in node_list Eu acho que oin verifica se um elemento faz parte de uma lista e retorna um bool. apenas dando um duplo obrigado,

questionAnswers(3)

yourAnswerToTheQuestion