VOOZH about

URL: https://www.geeksforgeeks.org/python/python-increase-list-size-by-padding-each-element-by-n/

⇱ Python | Increase list size by padding each element by N - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Python | Increase list size by padding each element by N

Last Updated : 17 Apr, 2023

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 

Output:
[1, 1, 1, 2, 2, 2, 3, 3, 3]

Time Complexity: O(n), where n is the number of elements in the list 
Auxiliary Space: O(1), constant space needed

  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. 

Output:
[1, 1, 1, 2, 2, 2, 3, 3, 3]

  Approach #3 : Using itertools.chain() 

Output:
[1, 1, 1, 2, 2, 2, 3, 3, 3]

Approach #4 : Using * and extend() method

  1. Initiate a for loop to access list elements
  2. Repeat each list element by using * operator
  3. And add repeated elements to output list(using extend())
  4. Display output list

Output
[1, 1, 1, 2, 2, 2, 3, 3, 3]

Time Complexity : O(N)

Auxiliary Space : O(N)

Comment