удаление экземпляра объекта в списке Python

Я думаю, что это должно работать, но это дает мне ошибку. У меня есть список, который содержит объекты классаnode, У меня есть два разных списка

open_list node_list.( they are not the same lengthwise, ordering wise)

Когда я нахожу конкретный узел вopen_list Мне нужно удалить его изnode_list, Я знаю, что списки имеют адреса к хранящимся в них объектам

поэтому, когда я пытаюсь сделать

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

это дает мне ошибку, говоря

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

но список просто содержит адреса, которые действуют как указатели, верно? он должен совпадать по тем же адресам. я распечатал адресremoved и весьnode_list (пока 10 предметов не боятся) распечатать: (последний элемент в node_list совпадает с адресом удаленного:

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

Спасибо

follow-up Q

поэтому я хочу проверить, существует ли узел, который я хочу удалить, в node_list. когда я посмотрел несколько простых функций спискаhttp://docs.python.org/tutorial/datastructures.html

list.index(x) а такжеremove.index(x) оба выдают ошибку, если элемент отсутствует в списке. это заставило мою программу перестать работать. чтобы обойти это, могу ли я использовать это утверждение до того, как.remove(): node in node_list я думаюin проверяет, является ли элемент частью списка, и возвращает bool. просто двойная проверка Спасибо,

Ответы на вопрос(3)

Ваш ответ на вопрос