我认为这应该有效,但它给了我一个错误.我有一个包含类对象的列表node.我有两个不同的清单
当我发现open_list我需要从中删除它的特定节点时node_list.我知道列表中包含存储在其中的对象的地址
所以当我尝试做的时候
removed = open_list.pop(min_index)
node_list.remove(removed)
Run Code Online (Sandbox Code Playgroud)
它给我一个错误的说法
node_list.remove(removed)
ValueError: list.remove(x): x not in list
Run Code Online (Sandbox Code Playgroud)
但列表只包含像指针一样的地址吗?它应匹配相同的地址.我打印出的地址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>]
Run Code Online (Sandbox Code Playgroud)
谢谢 …