小编use*_*385的帖子

删除python列表中的对象实例

我认为这应该有效,但它给了我一个错误.我有一个包含类对象的列表node.我有两个不同的清单

  1. open_list
  2. node_list.(它们在纵向上是不一样的,顺序排序)

当我发现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)

谢谢 …

python compare list

11
推荐指数
1
解决办法
3万
查看次数

标签 统计

compare ×1

list ×1

python ×1