怎么用Python找出list第2大的值
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容介绍了"怎么用Python找出list第2大的值"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2025年01月23日怎么用Python找出list第2大的值题目解析 回顾找最大值的的方法 示例代码 示例代码
本篇内容介绍了"怎么用Python找出list第2大的值"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
题目:现有一个lst,无重复数据,其内容为:
lst = [1,4,2,77,24,57,42]
这一次不是让你找出最大值,而是找出第2大的值,要求只能对list遍历一次,而且lst中的元素的大小范围是不确定的。
只能遍历一次list,这就意味着不能先排序,因为排序过程遍历了不止一次
要找的是第2大的值
lst = [1,4,2,77,24,57,42]
max = lst[0]
for item in lst:
if item > max:
max = item
print max
找最大值,先定义了一个max,令其值为lst[0],遍历的过程中逐个比较,那么找第2大的值和不在此基础上进行呢。
定义一个second,也令其值为lst[0],在遍历过程中也逐个比较,如果item比second大,同时又比max小不就可以了么!
lst = [1,4,2,77,24,57,42]
max = lst[0]
second = lst[0]
for item in lst:
if item > max:
max = item
if item > second and item < max:
second = item
print max,second
程序的输出结果为 77 57 ,程序关键之处在于比较item和second的大小时,也考虑到了max的情况,这样很简单嘛,一点都不烧脑,???? 不烧脑,我怎么敢拿出来呢!
请考虑这种情况:
lst = [77,4,2,24,57,42]
lst[0] 本身就是最大值,上面的代码还能给出正确的结果么?不能,程序运行的结果是 77 77 ,剧情翻转了,由于lst[0]是最大值,导致两个if条件语句都不成立,现在感觉到烧脑了么?
之所以程序不能给出正确结果,皆因max 和 second在最初赋值的时候相等,这是问题的根源,那么只需要让second的初始值比max小便能解决这个问题
lst = [77,1,4,2,24,57,42]
max = lst[0]
if lst[0] > lst[1]:
second = lst[1]
else:
second = lst[0]
for item in lst:
if item > max:
max = item
if item > second and item < max:
second = item
print max,second
"怎么用Python找出list第2大的值"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
最大
最大值
程序
结果
过程
代码
内容
情况
大小
更多
知识
示例
问题
题目
排序
输出
实用
学有所成
接下来
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全人人有责手抄报竖版
单片机软件开发成本
网络安全规划设计
如皋市公安局网络安全大队
微雕软件开发
笔记本电脑主板改装nas服务器
日本软银服务器
jbpm4 数据库表
数据库的ppt表示
监控管理服务器图
角色转移到别的服务器
视频点赞数据库设计
区块链平台网络技术
汝州市网络安全局
奥运日本网络安全战略
服务器管理打不开了
网管可以做软件开发工程师吗
网络技术图片图片
哪些数据库有xrd数据
阿里云视频转发服务器
机顶盒服务器链接失败
工控行业网络安全
宁波商城软件开发外包公司
计算机类网络安全专业
万象sql 会员数据库
郑州网络安全培训服务
腾讯云服务器可以上微信吗
一般数据库软件怎么下载安装
时空猎人多少个服务器
服务器配置与管理科思