def classfify(mytree,testdata,labels): # print(‘mytree:{},testdata:{},labels:{}‘.format(mytree,testdata,labels)) firststr = list(mytree.keys())[0] #树中的第一个keys值获取,即第一个特征值名称 # print(‘firststr:‘,firststr) index = labels.index(firststr) #第一个特征值对应labels中的序号 second_dict = mytree[firststr] #第一个特征值对应的value字典 value = testdata[index] third = second_dict[value] #value值后 下一个特征值(字典 or 结果) if isinstance(third,dict): #如果是字典,继续递归 return classfify(third,testdata,labels) else: #否则则是结果,直接返回 return third
原文:https://www.cnblogs.com/cxhzy/p/10637518.html