Open In App

Python Program to convert String to Uppercase under the Given Condition

Improve
Improve
Like Article
Like
Save
Share
Report

Given a String list, the task is to write a Python program to convert uppercase strings if the length is greater than K.

Examples:

Input : test_list = ["Gfg", "is", "best", "for", "geeks"], K = 3
Output : ['Gfg', 'is', 'BEST', 'for', 'GEEKS']
Explanation : Best has 4 chars, hence BEST is uppercased.
Input : test_list = ["Gfg", "is", "best", "for", "geeks"], K = 4
Output : ['Gfg', 'is', 'best', 'for', 'GEEKS']
Explanation : geeks has 5 chars [greater than 4], hence GEEKS is uppercased.

Method #1 : Using upper() + loop

In this, we perform the task of uppercasing using upper(), and conditional statements for greater are checked using a loop.

Python3




# Python3 code to demonstrate working of
# Conditional Uppercase by size
# Using upper() + loop
 
# initializing list
test_list = ["Gfg", "is", "best", "for", "geeks"]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 3
 
res = []
for ele in test_list:
 
    # check for size
    if len(ele) > K:
        res.append(ele.upper())
    else:
        res.append(ele)
 
# printing result
print("Modified Strings : " + str(res))


Output

The original list is : ['Gfg', 'is', 'best', 'for', 'geeks']
Modified Strings : ['Gfg', 'is', 'BEST', 'for', 'GEEKS']

Time Complexity: O(n)
Auxiliary Space: O(n)

Method #2: Using list comprehension

In this, the task of iteration is performed inside list comprehension to act as shorthand to the similar method as above.

Python3




# Python3 code to demonstrate working of
# Conditional Uppercase by size
# Using list comprehension
 
# initializing list
test_list = ["Gfg", "is", "best", "for", "geeks"]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 3
 
# list comprehension for one liner solution
res = [ele.upper() if len(ele) > K else ele for ele in test_list]
 
# printing result
print("Modified Strings : " + str(res))


Output

The original list is : ['Gfg', 'is', 'best', 'for', 'geeks']
Modified Strings : ['Gfg', 'is', 'BEST', 'for', 'GEEKS']

Time Complexity: O(n)
Auxiliary Space: O(n)

Method #3:  Using map function +  lambda function.

Python3




# Python3 code to demonstrate working of
# Conditional Uppercase by size
# using map function and lambda function
 
# Initializing list
test_list = ["Gfg", "is", "best", "for", "geeks"]
 
# Printing original list
print("The original list is : " + str(test_list))
 
# Initializing K
K = 3
 
# Using map and lambda function
res = list(map(lambda ele: ele.upper() if len(ele) > K else ele, test_list))
 
# Printing result
print("Modified Strings : " + str(res))
 
# This code is contributed by Edula Vinay Kumar Reddy


Output

The original list is : ['Gfg', 'is', 'best', 'for', 'geeks']
Modified Strings : ['Gfg', 'is', 'BEST', 'for', 'GEEKS']

Time Complexity: O(n)
Auxiliary Space: O(n)

Method #5: Using map() and a named helper function

  1. Define a named function ‘conditional_uppercase’ that takes a string as an input parameter
  2. Inside the function, check if the length of the string is greater than ‘K’
  3. If yes, return the uppercase version of the string
  4. If no, return the original string.
  5. Initialize an empty list called ‘res’
  6. Use map() function to apply the ‘conditional_uppercase’ function to each element of the ‘test_list’
  7. Convert the map object to a list using the list() function and store it in ‘res’
  8. Print the modified strings stored in ‘res’

Python3




# Python3 code to demonstrate working of
# Conditional Uppercase by size
# Using map() and a named function
 
# initializing list
test_list = ["Gfg", "is", "best", "for", "geeks"]
 
# Printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 3
 
# named function for conditional uppercase
 
 
def conditional_uppercase(ele):
    return ele.upper() if len(ele) > K else ele
 
 
# Applying conditional_uppercase function to each element
# map function
res = list(map(conditional_uppercase, test_list))
 
# Printing the result
print("Modified Strings : " + str(res))


Output

The original list is : ['Gfg', 'is', 'best', 'for', 'geeks']
Modified Strings : ['Gfg', 'is', 'BEST', 'for', 'GEEKS']

Time complexity: O(n), where n is the number of elements in the ‘test_list’
Auxiliary space: O(n), as we are storing the modified strings in a new list ‘res’

Method #6: Using generator function

Python3




# Python3 code to demonstrate working of
# Conditional Uppercase by size
# Using a generator function
 
# Initializing list
test_list = ["Gfg", "is", "best", "for", "geeks"]
 
# Printing original list
print("The original list is : " + str(test_list))
 
# Initializing K
K = 3
 
# Generator function for conditional uppercase
def conditional_uppercase_generator(lst, k):
    for ele in lst:
        yield ele.upper() if len(ele) > k else ele
 
# Creating a generator object
gen = conditional_uppercase_generator(test_list, K)
 
# Converting generator object to list
res = list(gen)
 
# Printing the result
print("Modified Strings : " + str(res))


Output

The original list is : ['Gfg', 'is', 'best', 'for', 'geeks']
Modified Strings : ['Gfg', 'is', 'BEST', 'for', 'GEEKS']

Time complexity: O(n), since we need to iterate over all the elements in the list.
Auxiliary space: O(1) because we are not storing all the modified strings in a separate list. Instead, we generate them on-the-fly using the generator function.



Last Updated : 18 May, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads