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实现简单的socket server实例
Apr 29 Python
Python实现批量读取word中表格信息的方法
Jul 30 Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 Python
Python简单I/O操作示例
Mar 18 Python
对Python中TKinter模块中的Label组件实例详解
Jun 14 Python
python修改FTP服务器上的文件名
Sep 11 Python
python基于socket实现的UDP及TCP通讯功能示例
Nov 01 Python
Python创建一个元素都为0的列表实例
Nov 28 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 Python
如何利用python检测图片是否包含二维码
Oct 15 Python
python爬虫中采集中遇到的问题整理
Nov 27 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
BBS(php & mysql)完整版(五)
2006/10/09 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
php文件缓存方法总结
2016/03/16 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
js中数组对象去重的两种方法
2019/01/18 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
python如何将图片转换为字符图片
2020/08/19 Python
pandas去除重复列的实现方法
2019/01/29 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
Python爬取梨视频的示例
2021/01/29 Python
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
企业爱岗敬业演讲稿
2014/09/04 职场文书
政风行风整改方案
2014/10/25 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
幼儿园园长新年寄语
2015/08/17 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL
python turtle绘图命令及案例
2021/11/23 Python
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫