列表中的最大元素

有没有办法在没有 foor 循环的情况下计算列表中的 N 个最大元素?

def Nlargest(list): 
     #your code here
     #print n largest element of a list without for loop


小怪兽爱吃肉
浏览 81回答 3
3回答

饮歌长啸

def Nlargest(list):     import heapq        print(heapq.nlargest(n,list))  #return a list of n largest element我希望这会帮助你

胡子哥哥

如果您关心性能,可以找到Quick-Select算法的实现。它以线性运行时间运行,与依赖排序的算法的n log n相反。如果运行时不重要,您可以采纳评论中的建议之一。

繁星点点滴滴

您可以对列表进行排序并打印最后 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希望这可以帮助 !
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python