python实现找到列表中第二大的数字
时间:2022-09-29
本文章向大家介绍python实现找到列表中第二大的数字,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
'''给定一个长度大于3的列表,里面数字是无序的,且数字不重复,如何找到第二大的数字?
例如列表a = [1, 3, 6, 2, 7, 9],找到的结果就应该是:7
下面给出六种解决方案'''
a = [1, 3, 6, 2, 7, 9]
# 以下是使用内置方法的策略
# 1 使用sorted排序,再取倒数第二个下标值
print(sorted(a)[-2])
# 2 使用sort排序,再取倒数第二个下标值
a.sort()
print(a[-2])
# 3 先取出最大值,删除,再取最大值
max_num = max(a)
a.remove(max_num)
print(max(a))
# 以下是不使用内置方法的策略
# 4 使用两个for循环,第一个先找最大值,删除最大值,然后再找最大值
def get_second_max_num(a) num = a[0] for i in a: if i > num: num = i a.remove(num) res = a[0] for j in a: if j > res: res = j return res
# 5 使用两个数字分别表示最大数和第二大数,然后一次for循环进行遍历,比较后再进行赋值
def get_second_max_num2(a) le = len(a) if a[0] > a[1]: max_num = a[0] second_max_num = a[1] else: max_num = a[1] second_max_num = a[0] for i in range(2, le): if a[i] > max_num: second_max_num = max_num max_num = a[i] else: if a[i] > second_max_num: second_max_num = a[i] return second_max_num
# 6 使用两个数字分别表示最大数和第二大数,然后一次while循环进行遍历,比较后再进行赋值
def get_second_max_num3(a) le = len(a) if a[0] > a[1]: max_num = a[0] second_max_num = a[1] else: max_num = a[1] second_max_num = a[0] i = 2 while i < le: if a[i] > max_num: second_max_num = max_num max_num = a[i] else: if a[i] > second_max_num: second_max_num = a[i] i += 1 return second_max_num
原文地址:https://www.cnblogs.com/mtck/p/16743036.html
- Keras中神经网络模型的5阶段生命周期
- java的断言(assert)
- Android studio中Rendering Problems不能可视化操作的解决办法
- 使用 Referer Meta 标签控制 referer—详解 referrer-policy
- 网站抓取引子 - 获得网页中的表格
- Android Firebase 服务简介
- CVE-2015-0393:Oracle发布严重安全漏洞预警
- 研究人员发现一种利用Siri窃取苹果iPhone/iPad数据的方法
- 关于Python中的__main__和编程模板
- 世界大战尽在掌控:盘点全球网络攻击实时追踪系统
- Activity数据传递
- apache反向代理一、泛解析域名二、APACHE配置
- Python学习 - 可视化变量赋值、循环、程序运行过程
- jdk源码分析红黑树——插入篇1.插入root2.父黑3.父红4.父红,叔红5.1父红,叔黑,外侧子孙5.2父红,叔黑,内侧子孙
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 前端性能和错误监控
- Network在单细胞转录组数据分析中的应用
- PAT (Basic Level) Practice (中文)1024 科学计数法 (20 分)
- PAT (Basic Level) Practice (中文)1053 住房空置率 (20 分)
- 解决vue+axios请求报错POST http: net::ERR_CONNECTION_REFUSED,在封装的请求中统一处理请求异常的问题
- PAT (Basic Level) Practice (中文)1025 反转链表 (25 分)
- Pytest+Allure接口自动化一些学习分享
- 数据结构___马踏棋盘详尽实现+报告+通俗易懂注释
- 使用elasticsearch-dump迁移elasticsearch集群数据
- PAT (Basic Level) Practice (中文)1027 打印沙漏 (20 分)
- PAT (Advanced Level) Practice 1002 A+B for Polynomials (25 分)
- 关于MySQL varchar类型最大值,原来一直都理解错了
- PAT (Basic Level) Practice (中文)1028 人口普查 (20 分)
- 稀疏矩阵计算器(三元组实现矩阵加减乘法)
- PAT (Basic Level) Practice (中文)1029 旧键盘 (20 分)