这是为了铭记如何把代码写的漂亮。敬大神~
我最终想要得到的效果是这样的:‘
水心病 latin_name 糖化病
水心病 latin_name 蜜果病
水心病 symptoms harm plants 果心
水心病 symptoms harm plants 果面
等等
这个的思想利用动态规划来做,我们需要在判断类型的前提下来进行递归,一直找到最终的Value值,然后把当前Value值所在的路径,也就是k值记录下来。这是大神写的python代码,我要多多鞭策自己!!因为要统一编码为unicode在写入的时候.encode('utf-8')转为str写入文档,所有当我们遍历到值的所在节点的时候,实际上就是unicode类型,对其他非unicode类型的value值也统一转换为unicode类型。
def node_to_list(node, hypothesis, prefix=u''):
if isinstance(node, int):
node = unicode(node)
if isinstance(node, unicode):
node = node.replace(u',', u'COMMA')