Skip to content
Related Articles

Related Articles

Python program to find N largest elements from a list

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Easy
  • Last Updated : 24 Apr, 2020

Given a list of integers, the task is to find N largest elements assuming size of list is greater than or equal o N.

Examples :

Input : [4, 5, 1, 2, 9] 
        N = 2
Output :  [9, 5]

Input : [81, 52, 45, 10, 3, 2, 96] 
        N = 3
Output : [81, 96, 52]

A simple solution traverse the given list N times. In every traversal, find the maximum, add it to result, and remove it from the list. Below is the implementation :




# Python program to find N largest
# element from given list of integers
  
# Function returns N largest elements
def Nmaxelements(list1, N):
    final_list = []
  
    for i in range(0, N): 
        max1 = 0
          
        for j in range(len(list1)):     
            if list1[j] > max1:
                max1 = list1[j];
                  
        list1.remove(max1);
        final_list.append(max1)
          
    print(final_list)
  
# Driver code
list1 = [2, 6, 41, 85, 0, 3, 7, 6, 10]
N = 2
  
# Calling the function
Nmaxelements(list1, N)


Output :

[85, 41]

Time Complexity : O(N * size) where size is size of the given list.
Method 2:




# Python program to find N largest
# element from given list of integers
  
l = [1000,298,3579,100,200,-45,900]
n = 4
  
l.sort()
print(l[-n:])


Output:

[-45, 100, 200, 298, 900, 1000, 3579]
Find the N largest element: 4
[298, 900, 1000, 3579]

Please refer k largest(or smallest) elements in an array for more efficient solutions of this problem.


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!