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

yipeiwu_com7年前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设计】。

相关文章

通过数据库向Django模型添加字段的示例

首先借用书本(book)的这个数据模型: from django.db import models class Publisher(models.Model): name =...

零基础学Python(一)Python环境安装

任何高级语言都是需要一个自己的编程环境的,这就好比写字一样,需要有纸和笔,在计算机上写东西,也需要有文字处理软件,比如各种名称的OFFICE。笔和纸以及office软件,就是写东西的硬件...

Python基于pyCUDA实现GPU加速并行计算功能入门教程

Python基于pyCUDA实现GPU加速并行计算功能入门教程

本文实例讲述了Python基于pyCUDA实现GPU加速并行计算功能。分享给大家供大家参考,具体如下: Nvidia的CUDA 架构为我们提供了一种便捷的方式来直接操纵GPU 并进行编程...

CentOS7下python3.7.0安装教程

记录了CentOS7 安装python3.7.0的详细过程,供大家参考,具体内容如下 1.下载及解压 python3.7的安装包可从官网下载上传到主机,也可以用wget直接下载。 [...

Python基于PycURL自动处理cookie的方法

本文实例讲述了Python基于PycURL自动处理cookie的方法。分享给大家供大家参考。具体如下: import pycurl import StringIO url = "ht...