永发信息网

怎样找第二大的数,python

答案:2  悬赏:50  手机版
解决时间 2021-03-23 04:36
怎样找第二大的数,python
最佳答案
# 方法一,直接排序然后取倒数第个元素
sorted(num_list)[-2]

# 方法二,用标准库中堆模块中的nlargest方法
>>> import heapq
>>> num_list = [10,1,2,3,4,5,6,7,8,9,0]
>>> heapq.nlargest(2, num_list)
[10, 9]
>>> 

# 方法三,如果不准用内置方法,自己写个算法。
def second_large(num_list):
    """find second largest num in a list.
    >>> second_large([1,2,0])
    1
    >>> second_large([1,2,3,0])
    2
    >>> second_large([1,3,2,0])
    2
    >>> second_large([10,1,2,3,4,5,6,7,8,9,0])
    9
    >>> second_large([1,9,2,3,4,5,6,7,8,10,0])
    9"""
    iterator = iter(num_list)
    largest, second = 0, 0
    while True:
            num = next(iterator)
            if num == 0:
                break
            elif num > largest:
                largest, second = num, largest
            elif num > second:
                largest, second = largest, num
    return second

if __name__ == '__main__':
    import doctest
    doctest.testmod()
全部回答
先排序,在取第2个数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
回复朋友的生日祝福语,今天我生日、收到好多
单选题就南沙群岛,菲律宾表示其中的卡拉延群
(写仙侠言情小说用的)比较适合神仙的姓氏和
1.2寸的自来水管直径是多少
全职猎人中的王被谁杀了?
KC皮草广场松原总店怎么去啊,有知道地址的么
刺身拼音怎么写
请问各位这种奶多少钱一箱?
1988年苏美克里米亚事件
有什么细菌或者其他微生物可以分解人类粪便的
人性背后的繁体字怎么写
下列画线词语解释欠妥的一组是A.徐公来,孰视
日本药妆店品牌有哪些,国产药妆品牌有哪些?
用SolidWorks怎么建模这个卡通手,像云朵一样
谁有最新电影的链接比如捉妖记,大圣归来等,
推荐资讯
别人帮了我一个大忙,我该如何感谢他
勉县到成都有多少公里,广元到西安高速里程多
17. 阅读下面的文字,写一篇不少于800字的作
2012年阴历的2月、5月、6月、9月、10月份是阳
如何在origin中将横坐标上的部分数字该成文字
鸿运面馆地址在哪,我要去那里办事
学生没有身份证没有学生证,想买高铁票,急用
求问水仙花的花香有毒吗?
宗教是建立在什么背景之下的一个哲学体系之中
柏隆酒类直供&精品超市地址在什么地方,想过
对最好朋友说的一句话,最后一句歌词:我们大家
里面有欣欣老师 依依 的电视剧叫什么名字 讲
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?