python递归函数该怎么用
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇内容介绍了"python递归函数该怎么用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,函数
千家信息网最后更新 2025年01月31日python递归函数该怎么用
本篇内容介绍了"python递归函数该怎么用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
首先,函数就是函数,递归函数也仍然是函数,大家不要误以为函数还分了许多种。只是递归函数和其他函数有所不同,因此给它单独起了一个名字,目的是方便我们交流,你一说递归函数,我就明白了,这个函数在执行的时候会调用自己,仅此而已。
先说我遇到的问题吧。我的程序调用一个API,返回的结果是一个字典,让人难受的是,我需要的信息在字典里,但分布的位置却不是固定的,例如下面的字典:
maze_dict = {
'machine':'apple',
'name':u'升',
'bus':{
'no':1,
'direction':'east',
'west':{
'where':'beijing',
'date':'today',
'python':'python1'
}
},
'python':'python2',
'pythongroup':{
'group':{
'group':{
'group':{
'python':'python3'
}
}
}
}
}
假设我想提取的信息都是以python作为关键字的键值对里的value部分,可是,python关键字具体在哪里,我事先是不知道的。我不能通过关键字,从最外层向里面层层访问,因为这个路径是不确定的。这里,我们就要用到递归函数,层层推进。
def find_python(info,lst):
if not isinstance(info,dict):
return
for k,v in info.items():
if k == 'python':
lst.append(v)
elif isinstance(v,dict):
find_python(v,lst)
if __name__ == '__main__':
lst = []
find_python(maze_dict,lst)
print lst
find_python函数的定义并不复杂,当一个键值对的value部分是字典时,它便再次调用自己,到下一层去寻找python关键字。
理解递归函数的难点在于,每一次函数的调用都从头开始执行了,但是函数传入的参数是变化的,其次,进入到下一层函数时,这一层函数并没有终结哦,而是等到下一层函数结束时,自己再继续执行,就像盗梦空间一样,梦境层层递进,但是也会有一个退出的过程,一定是下一层的梦境结束了,当前这一层做梦的人醒过来,然后继续退出,上一层梦境的人接着醒过来。
"python递归函数该怎么用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
函数
递归
关键
关键字
字典
梦境
信息
内容
更多
知识
过程
部分
不同
复杂
实用
难受
仅此而已
学有所成
接下来
一次函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
武汉从事建筑软件开发
连云港网络安全知识讲解
阿里巴巴数据库专题
计算机网络安全素质教育笔记
app软件开发验收标准
2020网络安全日答案
1.18基岩版我的世界服务器
淮安新品服务器租用
因网络安全问题辞职
如何理解数据库集群
广州大蕃薯网络技术
送货传票模板无法连接数据库
软件开发公司有哪些要求
网页服务器ip多少
网络安全调查问题
ftp服务器上传数据库
通州区网络软件开发包括什么
英雄无敌6服务器
冯提莫关注网络安全宣传
爱数APP服务器地址怎么填
数据库模拟考核方案
无法连接http服务器
卫生计生委网络安全管理制度
厦门服务器散热器订制
市场监管局网络安全管理制度
大学网络技术基础教程电子版
数据库和系统核心是
陕西什么是网络技术服务设计
单位网络安全工作领导小组
数据安全 数据库