怎么用Python找出list第2大的值
发表于:2024-09-24 作者:千家信息网编辑
千家信息网最后更新 2024年09月24日,本篇内容介绍了"怎么用Python找出list第2大的值"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2024年09月24日怎么用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安全错误
数据库的锁怎样保障安全
达梦数据库客户端
网络安全怎样做简报
阿里云香港服务器访问速度
软件开发 太原分公司
邮箱绑定无法连接到服务器
广东国产信创服务器
软件开发网上商城范围
微信被封的号服务器多久清除
数据库出生时间查询年龄
数据库修改字段名
数据库访问的困难根源
设有图书管理数据库简答题
数据库保存的命令
华为服务器出厂有没有做raid
软件开发去哪家翰诺科技
制作java界面与数据库相连
服务器系统分区方法
网络安全保卫大队是网安吗
安全服务器接入地址设置方法
剑灵捏脸美女数据库
自建app需要服务器吗
武汉yuku网络技术
长春网络安全维护工作
xshell检查服务器状态
贵州网络时间同步服务器云服务器
软件开发班哪家好
软件开发是一线还是二三线
克而瑞数据库怎么收费
湖南钧扬网络技术有
棋牌软件开发定做价格