Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

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]

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!