python之字典的嵌套,递归调用

来源:互联网 发布:数据库长整型 编辑:程序博客网 时间:2024/06/04 19:37

一 字典的嵌套

在机器学习实战决策树部分,生成决策树时用到了字典的嵌套。

>>>s1={'no surface':{}}>>>s1['no surfacce'][0]='no'>>>s1{'no surface':{0:'no'}}>>>s2={'flipper':{}}>>>s2['flipper'][0]='no'>>>s2['flipper'][1]='yes'>>>s1['no surface'][1]==s2>>>s1{'no surface':{0:'no',1:{'flipper':{0:'no,1:'yes''}}}}

在上面构造嵌套字典的过程中,可以通过key来得到相应的value,而相应的value又可以是由字典构成的,再次利用key作为索引层级得到value。

二 递归调用

递归函数算阶乘

def fact():if n==1:    return 1return n*fact(n-1)

如果我们计算fact(5),可以根据函数定义看到计算过程如下:
===> fact(5)
===> 5 * fact(4)
===> 5 * (4 * fact(3))
===> 5 * (4 * (3 * fact(2)))
===> 5 * (4 * (3 * (2 * fact(1))))
===> 5 * (4 * (3 * (2 * 1)))
===> 5 * (4 * (3 * 2))
===> 5 * (4 * 6)
===> 5 * 24
===> 120

原创粉丝点击