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


Posted in Python onJanuary 21, 2019

一 字典的嵌套

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

>>>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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
用map函数来完成Python并行任务的简单示例
Apr 02 Python
在Python中使用HTML模版的教程
Apr 29 Python
浅谈python装饰器探究与参数的领取
Dec 01 Python
快速解决PyCharm无法引用matplotlib的问题
May 24 Python
Python面向对象类继承和组合实例分析
May 28 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
Python正则表达式实现简易计算器功能示例
May 07 Python
python智联招聘爬虫并导入到excel代码实例
Sep 09 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
Python坐标轴操作及设置代码实例
Jun 04 Python
对python 合并 累加两个dict的实例详解
Jan 21 #Python
python去重,一个由dict组成的list的去重示例
Jan 21 #Python
Python实现计算字符串中出现次数最多的字符示例
Jan 21 #Python
python3.6数独问题的解决
Jan 21 #Python
解决python给列表里添加字典时被最后一个覆盖的问题
Jan 21 #Python
对python列表里的字典元素去重方法详解
Jan 21 #Python
在Python中字典根据多项规则排序的方法
Jan 21 #Python
You might like
PHP实现异步调用方法研究与分享
2011/10/27 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
Javascript中Eval函数的使用说明
2008/10/11 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
2019/09/10 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
[00:19]CN DOTA NEVER DIE!VG夺冠rOtK接受采访
2019/12/23 DOTA
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
python 格式化输出百分号的方法
2019/01/20 Python
详解Python 函数如何重载?
2019/04/23 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
params有什么用
2016/03/01 面试题
校园歌咏比赛主持词
2014/03/18 职场文书
党员承诺书怎么写
2014/05/20 职场文书
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python
浅析NIO系列之TCP
2021/06/15 Java/Android
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
Ruby处理YAML和json数据
2022/04/18 Ruby
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL