Python - Custom space size padding in Strings List
Last Updated :
21 Apr, 2023
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
# Python3 code to demonstrate working of
# Custom space size padding in Strings List
# Using loop
# initializing lists
test_list = ["Gfg", "is", "Best"]
# printing original list
print("The original list is : " + str(test_list))
# initializing padding numbers
lead_size = 3
trail_size = 2
res = []
for ele in test_list:
# * operator handles number of spaces
res.append((lead_size * ' ') + ele + (trail_size * ' '))
# printing result
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
# Python3 code to demonstrate working of
# Custom space size padding in Strings List
# Using list comprehension
# initializing lists
test_list = ["Gfg", "is", "Best"]
# printing original list
print("The original list is : " + str(test_list))
# initializing padding numbers
lead_size = 3
trail_size = 2
# using list comprehension for one liner alternative
res = [(lead_size * ' ') + ele + (trail_size * ' ') for ele in test_list]
# printing result
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
# Python program for the above approach
# Function to find the custom padding in
# the strings
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
# Driver Code
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)))
Similar Reads
Python - Avoid Spaces in string length When working with strings in Python, we may sometimes need to calculate the length of a string excluding spaces. The presence of spaces can skew the length when we're only interested in the number of non-space characters. Let's explore different methods to find the length of a string while ignoring
3 min read
Python - All possible space joins in String Sometimes, while working with Python Strings, we can have a problem in which we need to construct strings with a single space at every possible word ending. This kind of application can occur in domains in which we need to perform testing. Let us discuss certain ways in which this task can be perfor
8 min read
Remove spaces from a string in Python Removing spaces from a string is a common task in Python that can be solved in multiple ways. For example, if we have a string like " g f g ", we might want the output to be "gfg" by removing all the spaces. Let's look at different methods to do so:Using replace() methodTo remove all spaces from a s
2 min read
Python - String Split including spaces String splitting, including spaces refers to breaking a string into parts while keeping spaces as separate elements in the result.Using regular expressions (Most Efficient)re.split() function allows us to split a string based on a custom pattern. We can use it to split the string while capturing the
3 min read
String Repetition and spacing in List - Python We are given a list of strings and our task is to modify it by repeating or adding spaces between elements based on specific conditions. For example, given the list `a = ['hello', 'world', 'python']`, if we repeat each string twice, the output will be `['hellohello', 'worldworld', 'pythonpython']. U
2 min read