gpt4 book ai didi

python - 在 Python 中打印决策树的递归函数 : Suppress 'None' s

转载 作者:太空宇宙 更新时间:2023-11-04 10:57:50 25 4
gpt4 key购买 nike

我用 Python 将决策树实现为字典。示例:

sampletree = {'spl':'foo', 'go_r':{'cut':150} ,  'l':{'val':100}, 'r':{'val':200}}

我有一个递归函数打印树:

def TREE_PRINT(tree, indent=''):
#is this a leaf node?
if 'val' in tree:
print str(tree['val'])
else:
#print the criteria
print 'split: '+ str(tree['spl']) + ' ' + str(tree['go_r'])
#print the branches
print indent+'L->', TREE_PRINT(tree['l'], indent+' ')
print indent+'R->', TREE_PRINT(tree['r'], indent+' ')

如何在运行该函数时抑制打印的 None?

TREE_PRINT(sampletree)
split: foo {'cut': 150}
L-> 100
None
R-> 200
None

我尝试返回 '',但随后出现不需要的额外换行符。我正在从 Programming Collective Intelligence 的第 151 页中构建“printtree”函数。

最佳答案

您的函数的返回值为 None。不要打印函数的返回值 - 只需调用函数即可。

def TREE_PRINT(tree, indent=''):
#is this a leaf node?
if 'val' in tree:
print str(tree['val'])
else:
#print the criteria
print 'split: '+ str(tree['spl']) + ' ' + str(tree['go_r'])
#print the branches
print indent+'L->',
TREE_PRINT(tree['l'], indent+' ')

print indent+'R->',
TREE_PRINT(tree['r'], indent+' ')

结果

split: foo {'cut': 150}L-> 100R-> 200

在线查看它:ideone

关于python - 在 Python 中打印决策树的递归函数 : Suppress 'None' s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8392104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com