Python3中递归函数的示例分析
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章将为大家详细讲解有关Python3中递归函数的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python3之递归函数简单示例概述递归函
千家信息网最后更新 2025年01月19日Python3中递归函数的示例分析
这篇文章将为大家详细讲解有关Python3中递归函数的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
Python3之递归函数简单示例
概述
递归函数即直接或间接调用自身的函数,且递归过程中必须有一个明确的递归结束条件,称为递归出口。递归极其强大一点就是能够遍历任意的,不可预知的程序的结构,比如遍历复杂的嵌套列表。
递归求和
我们可以利用递归函数实现一个Python内置函数sum()的递归版。
# 递归def d_sum(L): if not L: return 0 else: return L[0] + d_sum(L[1:])sum_l = d_sum(range(10))print(sum_l)
示例结果
45
该递归函数怎么实现列表元素相加的呢? 我们知道函数是有本地作用域的,对函数调用的每一个打开的时候,在运行时调用堆栈上都有自己的一个本地作用域的副本,即L在每个层级都是不同的,比如我们可以通过每次调用时添加一个打印语句,更加直观展示每个层级L的情况
# 递归def d_sum(L): # 打印该层级L print(L) if not L: return 0 else: return L[0] + d_sum(L[1:])# 构建 0-10 数字元素列表L = [i for i in range(10)]sum_l = d_sum(L)print(sum_l)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9][1, 2, 3, 4, 5, 6, 7, 8, 9][2, 3, 4, 5, 6, 7, 8, 9][3, 4, 5, 6, 7, 8, 9][4, 5, 6, 7, 8, 9][5, 6, 7, 8, 9][6, 7, 8, 9][7, 8, 9][8, 9][9][]45
处理任意结构
比如我们可以利用递归计算一个嵌套的子列表结构中所有数字的总和
def dd_sum(L): tot = 0 for x in L: if not isinstance(x, list): tot += x else: tot += dd_sum(x) return tot# 嵌套列表L = [1,[2,3],[4,[5,6,7],8],9]sum_l = dd_sum(L)print(sum_l)
示例结果:
45
这种处理方式看似复杂,我们可能更多会利用循环语句替代,但是使用递归函数逻辑简单清晰,这是使用的一大优点。关于Python3中递归函数的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
递归
函数
示例
层级
更多
结构
分析
复杂
作用
元素
内容
数字
文章
知识
篇文章
结果
语句
处理
不同
不错
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2022年网络安全态势
在不重启服务器的情况下重载插件
网店服务器一般多大
有关青少年网络安全的事例
公安 加强网络安全
网络舆情是网络安全的一部分吗
网络安全ctf是什么意思
汤阴网络安全中心
封锁机制属于数据库什么措施
长沙缤悦互联网科技有限公司
家业互联网科技公司是真的吗
db2分区库数据库重启
远程连接云服务器能usb手机
云服务器安装mysql
数据库并行数据
澳洲2018配额 网络安全
nginx三台服务器配置
web 服务器的管理员
网络安全教育手抄报电子
辽宁软件开发文档
医保网络安全维护记录表
mpp数据库集群技术
金蝶kis专业版 服务器
Gbase数据库优点
京东方软件开发工程师面试经
数据库的诞生时间是
db2分区库数据库重启
浙江师范大学数据库试卷
计算机网络技术与网络信息安全
查询数据库各表行数