Python递归求出列表(包括列表中的子列表)的最大值实例


Posted in Python onFebruary 27, 2020

要求:求出列表中的所有值的最大数,包括列表中带有子列表的。

按照Python给出的内置函数(max)只能求出列表中的最大值,无法求出包括列表中的子列表的最大值

Python3代码如下:

#!/usr/bin/env python3
# _*_ coding:UTF-8 _*_
list_tmp = [1,3,5,7,9,11]
print(max(list_tmp))

返回的结果为:11

按照Python3给出内置函数(max)的方法想要违和他的要求求出列表包括子列表的数,他就会给你进行报错。

图片如下:

Python递归求出列表(包括列表中的子列表)的最大值实例

按照上述的操作我们无法将列表的值和子列表的值进行对比,那么我们可以尝试着自己制作一个可以对比列表和子列表的值,这个方法特别简单,使用递归函数对每个值进行对比,包括子列表的值。

思路:

使用递归函数的方式列出,首先我们将每个列表的值全部列出来,在此我们使用循环的方式将列表中的值列出,然后对列表值的类型进行判断,如果值的类型为list,那么我们就再次列出列表中的值,以此类推,我们就能够得出所有的列表值,其中无一个是list的类型。

然后我们的函数中将返回结果给出一个默认值,值为0,然后在将返回值跟列表所列出来的值进行对比,如果谁大,那么返回结果的值将等于他,以此类推,我们最终得出的结果就是正个列表中的最大值,说着可能有点难懂,那么直接上代码。

Python3代码如下:

def max_value(ls,rs):
 for l in ls:
  if type(l) == list:
   rs = max_value(l,rs)
   continue
  if l > rs:
   rs = l
 return rs
def max_val(ls):
 rs = max_value(ls,0)
 return rs
if __name__ == '__main__':
 list1 = [4,1,3,11,[1,6,8],[[1,3],[6,15]]]
 list2 = [5,[5,7,9,2],3,[2,6,16],9]
 result1 = max_val(list1)
 result2 = max_val(list2)
 print('list1:%r\nMAX:%s\nlist2:%r\nMAX:%s' %(list1,result1,list2,result2))

效果图如下:

Python递归求出列表(包括列表中的子列表)的最大值实例

这里我们依靠递归函数的作用,将所有表值全部取下,并且进行判断。

以上就是使用递归函数求出整个列表的最大值,说明过程比较粗糙,请多多见谅。希望大家多多支持三水点靠木!

Python 相关文章推荐
python中的内置函数getattr()介绍及示例
Jul 20 Python
python关闭windows进程的方法
Apr 18 Python
Python中用于转换字母为小写的lower()方法使用简介
May 19 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
python 保存float类型的小数的位数方法
Oct 17 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 Python
python 标准差计算的实现(std)
Jul 29 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
python PIL/cv2/base64相互转换实例
Jan 09 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
Python descriptor(描述符)的实现
Nov 15 Python
python 实现Harris角点检测算法
Dec 11 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
Feb 27 #Python
Python 之 Json序列化嵌套类方式
Feb 27 #Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 #Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 #Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 #Python
python列表切片和嵌套列表取值操作详解
Feb 27 #Python
Python递归实现打印多重列表代码
Feb 27 #Python
You might like
PHP聊天室技术
2006/10/09 PHP
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
top.location.href 没有权限 解决方法
2008/08/05 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
2017/05/25 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
python简单读取大文件的方法
2016/07/01 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
python 求定积分和不定积分示例
2019/11/20 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
蔻驰法国官网:COACH法国
2018/11/14 全球购物
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
仓库理货员岗位职责
2013/12/18 职场文书
教研活动总结
2014/04/28 职场文书
儿园租房协议书范本
2014/12/02 职场文书
党支部先进事迹材料
2014/12/24 职场文书
项目投资意向书范本
2015/05/09 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
MySQL优化之慢日志查询
2022/06/10 MySQL