In this article given a Strings List, the task is to write a Python program to pad each string with spaces with specified leading and trailing number of spaces required.
Examples:
Input: test_list = [“Gfg”, “is”, “Best”], lead_size = 3, trail_size = 2
Output: [‘ Gfg ‘, ‘ is ‘, ‘ Best ‘]
Explanation: Each word starts after 3 spaces and add 2 spaces after completion.
Input: test_list = [“Gfg”, “Best”], lead_size = 3, trail_size = 2
Output: [‘ Gfg ‘, ‘ Best ‘]
Explanation: Each word starts after 3 spaces and add 2 spaces after completion.
Method #1: Using loop
In this, we perform the task of adding trailing and leading required spaces using loop. The * operator is used to get required number of spaces.
Python3
test_list = [ "Gfg" , "is" , "Best" ]
print ( "The original list is : " + str (test_list))
lead_size = 3
trail_size = 2
res = []
for ele in test_list:
res.append((lead_size * ' ' ) + ele + (trail_size * ' ' ))
print ( "Padded Strings : " + str (res))
|
Output:
The original list is : ['Gfg', 'is', 'Best']
Padded Strings : [' Gfg ', ' is ', ' Best ']
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #2: Using list comprehension
Similar way as above, the only difference being the use of list comprehension as a one-liner alternative to solve problems.
Python3
test_list = [ "Gfg" , "is" , "Best" ]
print ( "The original list is : " + str (test_list))
lead_size = 3
trail_size = 2
res = [(lead_size * ' ' ) + ele + (trail_size * ' ' ) for ele in test_list]
print ( "Padded Strings : " + str (res))
|
Output:
The original list is : ['Gfg', 'is', 'Best']
Padded Strings : [' Gfg ', ' is ', ' Best ']
The time and space complexity for all the methods are the same:
Time Complexity: O(n)
Space Complexity: O(n)
Approach#3: Using f-strings and format specifiers
The function custom_padding takes a list of strings, a lead size, and a trial size as input. It iterates over each string in the input list and applies custom padding to each string using format specifiers and string methods. The resulting padded string is then appended to a new list. Finally, the padded list is returned.
- Initialize an empty list padded_list.
- Iterate over each string word in the input list test_list.
- Apply custom padding to word using format specifiers and string methods.
- Add lead_size spaces before the word using the format specifier >{lead_size+len(word)}.
- Add trail_size spaces after the word using the ljust() method.
- Append the padded string padded_word to padded_list.
- Return the padded_list.
Python3
def custom_padding(test_list, lead_size, trail_size):
padded_list = []
for word in test_list:
padded_word = f "{word:>{lead_size+len(word)}}" .ljust(
lead_size + trail_size + len (word))
padded_list.append(padded_word)
return padded_list
test_list = [ "Gfg" , "is" , "Best" ]
lead_size = 3
trail_size = 2
print (custom_padding(test_list, lead_size, trail_size))
|
Output
[' Gfg ', ' is ', ' Best ']
Time complexity: O(n * (lead_size + trail_size + len(word)))
Space complexity: O(n * (lead_size + trail_size + len(word)))
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
21 Apr, 2023
Like Article
Save Article