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 相关文章推荐
wxPython中listbox用法实例详解
Jun 01 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
Nov 15 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
python中时间、日期、时间戳的转换的实现方法
Jul 06 Python
Django认证系统实现的web页面实现代码
Aug 12 Python
python自动化测试之异常及日志操作实例分析
Nov 09 Python
python itsdangerous模块的具体使用方法
Feb 17 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
Feb 22 Python
python获取字符串中的email
Mar 31 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
2020最新CPU的性能排名
2020/04/02 数码科技
PHP中的cookie
2006/11/26 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
js变形金刚文字特效代码分享
2015/08/20 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
python中的协程深入理解
2019/06/10 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
python读写文件write和flush的实现方式
2020/02/21 Python
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
大学毕业感言
2014/01/10 职场文书
幼儿园安全责任书
2014/04/14 职场文书
大学生标准自荐书
2014/06/15 职场文书
教师自我剖析材料范文
2014/09/30 职场文书
个人廉政承诺书
2015/04/28 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL