Sometimes, while working with Python strings, we might have a problem in which we have list of strings and we wish to convert them into specified cases. This problem generally occurs in the cases in which the strings we receive are ill-cased. Let’s discuss certain ways in which this task can be performed.
Method #1 : Using list comprehension + inbuilt functions
In this method, we use list comprehension as a shortened way to perform this task rather than loop method that could span some lines of codes. The conversions are made using generic inbuilt functions that can perform interconversion tasks.
Python3
test_list = [ 'bLue' , 'ReD' , 'yeLLoW' ]
print ("The original list is : " + str (test_list))
res = [(ele.upper(), ele.title(), ele.lower()) for ele in test_list]
print ("The list with multiple cases are : " + str (res))
|
Output : The original list is : ['bLue', 'ReD', 'yeLLoW']
The list with multiple cases are : [('BLUE', 'Blue', 'blue'), ('RED', 'Red', 'red'), ('YELLOW', 'Yellow', 'yellow')]
Time Complexity: O(n*n) where n is the number of elements in the list “test_list”. list comprehension + inbuilt functions performs n*n number of operations.
Auxiliary Space: O(n), extra space is required where n is the number of elements in the list
Method #2 : Using map() + lambda + inbuilt functions
This is another method to perform this particular task. In this, we just perform the task of extending the logic of conversions using lambda and iterations, and application to each string is done by lambda function.
Python3
test_list = [ 'bLue' , 'ReD' , 'yeLLoW' ]
print ("The original list is : " + str (test_list))
res = list ( map ( lambda ele: (ele.upper(), ele.title(), ele.lower()), test_list))
print ("The list with multiple cases are : " + str (res))
|
Output : The original list is : ['bLue', 'ReD', 'yeLLoW']
The list with multiple cases are : [('BLUE', 'Blue', 'blue'), ('RED', 'Red', 'red'), ('YELLOW', 'Yellow', 'yellow')]
Time Complexity: O(n*n), where n is the length of the list test_list
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the res list
Method #3: Using a loop and string methods
Uses a loop to iterate through the elements of the list, and for each element, it calls the upper(), title(), and lower() methods to convert the string to upper case, title case, and lower case, respectively. It then appends a tuple of the three converted strings to the res list. Finally, it prints the res list.
Python3
test_list = [ 'bLue' , 'ReD' , 'yeLLoW' ]
print ( "The original list is : " + str (test_list))
res = []
for ele in test_list:
res.append((ele.upper(), ele.title(), ele.lower()))
print ( "The list with multiple cases are : " + str (res))
|
OutputThe original list is : ['bLue', 'ReD', 'yeLLoW']
The list with multiple cases are : [('BLUE', 'Blue', 'blue'), ('RED', 'Red', 'red'), ('YELLOW', 'Yellow', 'yellow')]
Time Complexity: O(nm), where n is the number of elements in the input list and m is the maximum length of any string in the input list.
Auxiliary Space: O(n), where n is the number of elements in the input list.