Skip to content
Related Articles

Related Articles

Python program to find N largest elements from a list

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 21 Sep, 2022
View Discussion
Improve Article
Save Article

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 : 

Python3




# 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. 
Auxiliary space: O(N)

Method 2: 

Python3




# 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]

Time Complexity: O(nlogn)

Auxiliary Space: O(1)

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!