用python找出数组中第二大的数

小明问了我一个问题:
如何用python实现返回数组中第二大的数呢?

Sample Input:

2 3 6 6 5

Sample Output

5
我的代码如下:
if __name__ == '__main__':
	# 输入数据
    num_list = list(map(int, input().split()))
	# 列表去重
    num_list = list(set(num_list))
    # 返回结果
    max_num = max(num_list)
    num_list.remove(max_num)
    sec_max = max(num_list)
    print(sec_max)
我的思路

首先,看到这道题的第一反应就是用循环,不过想到python有个特别的数据类型集合,于是就用集合尝试了一下,效果还不错。

  1. 将输入文本转化为列表
  2. 使用集合去重,再转化为列表
  3. 调用max函数返回列表中最大的数
  4. remove掉列表中最大的数
  5. 此时调用max函数返回列表中最大的数即为所求。
学习体会

学习了基本数据类型后的一次应用吧。算是投机取巧的办法,不过也过了所有的测试用例。在解决问题的过程中会有很大的收获,坚持学习,总会有进步的!

加油!!!

你可以的!你总是这样相信着自己!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值