关于python之字典的嵌套,递归调用方法

yipeiwu_com6年前Python基础

一 字典的嵌套

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

>>>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 1
return 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

以上这篇关于python之字典的嵌套,递归调用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 实现生成均匀分布的点

如下所示: import numpy as np print(np.linspace(-100,100,201) np.linspace(),起始位置,终止位置,中间包括0,一共要...

Python异常对代码运行性能的影响实例解析

Python异常对代码运行性能的影响实例解析

前言 Python的异常处理能力非常强大,但是用不好也会带来负面的影响。我平时写程序的过程中也喜欢使用异常,虽然采取防御性的方式编码会更好,但是交给异常处理会起到偷懒作用。偶尔会想想异常...

Python 使用 Pillow 模块给图片添加文字水印的方法

Python 使用 Pillow 模块给图片添加文字水印的方法

像微博一类的平台上传图片时,平台都会添加一个水印,宣誓着对图片的所有权,我们自己的博客平台也可以给自己的图片添加上水印。 还是用 Pillow 模块来实现 先来看一个简单的例子 &g...

Python简单检测文本类型的2种方法【基于文件头及cchardet库】

本文实例讲述了Python简单检测文本类型的方法。分享给大家供大家参考,具体如下: 1、根据文件头。 #是否为带BOM头的UTF8文件 def IsUtf8BomFile(pathf...

python传递参数方式小结

本文实例总结了python传递参数方式。分享给大家供大家参考。具体分析如下: 当形参如*arg时表示传入数组,当形参如**args时表示传入字典。 def myprint(*comm...