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实现生成简单的Makefile文件代码示例
Mar 10 Python
python数字图像处理之高级滤波代码详解
Nov 23 Python
python实现推箱子游戏
Mar 25 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
Python for循环通过序列索引迭代过程解析
Feb 07 Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
Python分类测试代码实例汇总
Jul 23 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
Sep 21 Python
Python快速实现一键抠图功能的全过程
Jun 29 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 file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
JavaScript加密解密7种方法总结分析
2007/10/07 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
利用浏览器全屏api实现js全屏
2014/01/16 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
深入了解Python中pop和remove的使用方法
2018/01/09 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
python实现弹跳小球
2019/05/13 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
Python Selenium操作Cookie的实例方法
2021/02/28 Python
倩碧英国官网:Clinique英国
2018/08/10 全球购物
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
市场开发与营销专业求职信
2013/12/31 职场文书
物流管理专业推荐信
2014/09/06 职场文书
2015年新教师工作总结
2015/04/28 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js