Skip to content
Related Articles

Related Articles

Python – K consecutive Maximum
  • Last Updated : 02 Sep, 2020

Given a List, find maximum of next K elements from each index.

Input : test_list = [4, 3, 9, 2, 6, 12, 4, 3, 2, 4, 5], K = 4
Output : [9, 9, 9, 12, 12, 12, 4, 5]
Explanation : Max of next 4 elements, (max(4, 3, 9, 2) = 9)

Input : test_list = [4, 3, 9, 2, 6], K = 4
Output : [9, 9]
Explanation : Max of next 4 elements, (max(4, 3, 9, 2) = 9)

Method #1 : Using loop + max() + slicing

In this, we iterate for elements in loop, slicing till next K, and use max() to get maximum of them for current index.



Python3




# Python3 code to demonstrate working of 
# K consecutive Maximum 
# Using max() + loop + slicing
  
# initializing list
test_list = [4, 3, 8, 2, 6, 7, 4, 3, 2, 4, 5]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 4
  
res = []
for idx in range(len(test_list) - K + 1):
      
    # slice next K and compute Maximum
    res.append(max(test_list[idx : idx + K]))
  
# printing result 
print("Next K Maximum List : " + str(res))
Output
The original list is : [4, 3, 8, 2, 6, 7, 4, 3, 2, 4, 5]
Next K Maximum List : [8, 8, 8, 7, 7, 7, 4, 5]

Method #2 : Using list comprehension

This is yet another way to solve this, one-liner alternative to above method using list comprehension.

Python3




# Python3 code to demonstrate working of 
# K consecutive Maximum 
# Using list comprehension
  
# initializing list
test_list = [4, 3, 8, 2, 6, 7, 4, 3, 2, 4, 5]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 4
  
# one-liner to solve problem
res = [max(test_list[idx : idx + K]) for idx in range(len(test_list) - K + 1)]
  
# printing result 
print("Next K Maximum List : " + str(res))
Output
The original list is : [4, 3, 8, 2, 6, 7, 4, 3, 2, 4, 5]
Next K Maximum List : [8, 8, 8, 7, 7, 7, 4, 5]

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up
Recommended Articles
Page :