为了账号安全,请及时绑定邮箱和手机立即绑定

列表中的最大元素

列表中的最大元素

小怪兽爱吃肉 2023-01-04 11:26:17
有没有办法在没有 foor 循环的情况下计算列表中的 N 个最大元素?def Nlargest(list):       #your code here      #print n largest element of a list without for loop
查看完整描述

3 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

def Nlargest(list):
    import heapq
       print(heapq.nlargest(n,list))  #return a list of n largest element

我希望这会帮助你


查看完整回答
反对 回复 2023-01-04
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

如果您关心性能,可以找到Quick-Select算法的实现。它以线性运行时间运行,与依赖排序的算法的n log n相反。

如果运行时不重要,您可以采纳评论中的建议之一。


查看完整回答
反对 回复 2023-01-04
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您可以对列表进行排序并打印最后 n 个元素(列表中最大的 n 个元素),如下所示


def Nlargest(list):

    list.sort()        # first sort the list

    print(list[-n:])   # print the last n elements as they will be the largest ones

上面代码(不会改变原始列表)的简写是 -


def Nlargest(list):

    print(sorted(list, reverse=True)[:n]) #sort in descending order and print first n elements

希望这可以帮助 !


查看完整回答
反对 回复 2023-01-04
  • 3 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信