Skip to content
Related Articles

Related Articles

Python | Increase list size by padding each element by N
  • Last Updated : 24 Jun, 2019

Given a list and an integer N, write a Python program to increase the size of the list by padding each element by N.

Examples:

Input : lst = [1, 2, 3]
        N = 3
Output : [1, 1, 1, 2, 2, 2, 3, 3, 3]

Input : lst = ['cats', 'dogs']
        N = 2
Output : ['cats', 'cats', 'dogs', 'dogs']

Approach #1 : List comprehension




# Python3 program to increase list size 
# by padding each element by N
  
def increaseSize(lst, N):
      
    return [el for el in lst for _ in range(N)]
          
# Driver code
lst = [1, 2, 3]
N = 3
print(increaseSize(lst, N))
Output:
[1, 1, 1, 2, 2, 2, 3, 3, 3]

 
Approach #2 : Using functools.reduce() method



The reduce function apply a particular function passed in its argument to all of the list elements. Therefore, in this approach we apply a function on each element where it’s occurrence gets multiplied by N.




# Python3 program to increase list size 
# by padding each element by N
from functools import reduce
  
def increaseSize(lst, N):
      
    return reduce(lambda x, y: x + y, [[el]*N for el in lst])
          
# Driver code
lst = [1, 2, 3]
N = 3
print(increaseSize(lst, N))
Output:
[1, 1, 1, 2, 2, 2, 3, 3, 3]

 
Approach #3 : Using itertools.chain()




# Python3 program to increase list size 
# by padding each element by N
from itertools import chain
  
def increaseSize(lst, N):
      
    return list(chain(*([el]*N for el in lst)))
          
# Driver code
lst = [1, 2, 3]
N = 3
print(increaseSize(lst, N))
Output:
[1, 1, 1, 2, 2, 2, 3, 3, 3]

 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 :