Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除父目录树中的节点_Python_Nlp_Nltk - Fatal编程技术网

Python 删除父目录树中的节点

Python 删除父目录树中的节点,python,nlp,nltk,Python,Nlp,Nltk,我有一个nltk父目录树,我想删除父目录树中的一些节点(比如刚开始的叶子节点)。我尝试在python中使用del函数,但它只删除节点的值,而不删除节点及其关联的边。如何删除节点以及进入节点的边 v1 = parser.parse('How to lose weight ?') ptree = ParentedTree.convert(v1) t = ptree for leaf in leaf_values: leaf_index = leaf_values.index(leaf)

我有一个nltk父目录树,我想删除父目录树中的一些节点(比如刚开始的叶子节点)。我尝试在python中使用del函数,但它只删除节点的值,而不删除节点及其关联的边。如何删除节点以及进入节点的边

v1 = parser.parse('How to lose weight ?')
ptree = ParentedTree.convert(v1)
t = ptree
for leaf in leaf_values:
     leaf_index = leaf_values.index(leaf)
     tree_location = ptree.leaf_treeposition(leaf_index)
     print tree_location
     del ptree[tree_location]
     ptree.pretty_print()
     ptree = t
     leaf_values = ptree.leaves()

为什么不直接将
ptree[tree\u location]
设置为
None
?然后,垃圾收集应该为您删除关联的内存。我尝试过这样做,但它会将其值设置为“无”,而不是删除节点。如果您无法再访问节点,这不是有效的删除吗?是的。这就是我想要的。因此,如果我在第一次迭代中删除叶节点,那么叶的父节点将成为下一次迭代中的叶。