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动态监控日志内容的示例
Feb 16 Python
对于Python中线程问题的简单讲解
Apr 03 Python
详细介绍Python中的偏函数
Apr 27 Python
Python文件操作,open读写文件,追加文本内容实例
Dec 14 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
python实现浪漫的烟花秀
Jan 30 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
python实现大量图片重命名
Mar 23 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 Python
Python tkinter之ComboBox(下拉框)的使用简介
Feb 05 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 UBB 解析实现代码
2011/11/27 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
php创建session的方法实例详解
2015/01/27 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
如何提高数据访问速度
2016/12/26 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
vue实现弹幕功能
2019/10/25 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
python实现复制整个目录的方法
2015/05/12 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
PyTorch中常用的激活函数的方法示例
2019/08/20 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
门卫班长岗位职责
2013/12/15 职场文书
有关打架的检讨书
2014/01/25 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
诚信考试标语
2014/06/24 职场文书
三方股份合作协议书
2014/10/13 职场文书
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers