用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 获赞 11 访问量 1526

猜你喜欢

转载自blog.csdn.net/Zesheng_Wang/article/details/106151204