![]() |
VOOZH | about |
Sometimes, while working with Python, we can a problem in which we need to pad strings in lists at trailing or leading position. This kind of problem is quite common and can occur in day-day programming or web development. Let's discuss a way in which this task can be performed.
Method #1: Using + operator + list comprehension In this task, we just append the string at rear or front position using + operator and list comprehension is used to iterate through all the elements.
The original list : ['a', 'b', 'c', 'd'] list after prefix addition : ['gfga', 'gfgb', 'gfgc', 'gfgd'] list after suffix addition : ['agfg', 'bgfg', 'cgfg', 'dgfg']
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #2: Using itertools.starmap(): The python library itertools provides a function called "starmap()" which can be used to apply the same function to multiple inputs from an iterable, in this case, it can be used to append the suffix/prefix to each string in the list, this approach would have a time complexity of O(n) and auxiliary space of O(n) as well.
The original list : ['a', 'b', 'c', 'd'] list after prefix addition : ['gfga', 'gfgb', 'gfgc', 'gfgd'] list after suffix addition : ['agfg', 'bgfg', 'cgfg', 'dgfg']
Method #3: Using map and lambda functions
The original list : ['a', 'b', 'c', 'd'] list after prefix addition : ['gfga', 'gfgb', 'gfgc', 'gfgd'] list after suffix addition : ['agfg', 'bgfg', 'cgfg', 'dgfg']
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #4: Using For loop.
The original list : ['a', 'b', 'c', 'd'] list after prefix addition : ['gfga', 'gfgb', 'gfgc', 'gfgd'] list after suffix addition : ['agfg', 'bgfg', 'cgfg', 'dgfg']
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #5: Using numpy module:
Step-by-step approach:
Output:
The original list : ['a', 'b', 'c', 'd'] list after prefix addition : ['gfga' 'gfgb' 'gfgc' 'gfgd'] list after suffix addition : ['agfg' 'bgfg' 'cgfg' 'dgfg']
Time complexity: O(n), where n is the number of elements in the input list. This is because we iterate through each element once to perform the prefix and suffix addition.
Auxiliary Space: O(n), where n is the number of elements in the input list. This is because we create two lists of size n to store the results of the prefix and suffix addition
Method #6: Using the reduce() function from the functools module
Step-by-step approach:
The original list : ['a', 'b', 'c', 'd'] List after prefix addition : ['gfga', 'gfgb', 'gfgc', 'gfgd'] List after suffix addition : ['agfg', 'bgfg', 'cgfg', 'dgfg']
Time complexity: O(n), where n is the length of test_list.
Auxiliary space: O(n), where n is the length of test_list.