Wednesday, July 3, 2024
HomeLanguagesPythonPython – Extract range sized strings

Python – Extract range sized strings

Sometimes, while working with huge amount of data, we can have a problem in which we need to extract just specific range sized strings. This kind of problem can occur during validation cases across many domains. Let’s discuss certain ways to handle this in Python strings list.

Method #1 : Using list comprehension + len() 
The combination of above functionalities can be used to perform this task. In this, we iterate for all the strings and return only ranged sized strings checked using len().

Python3




# Python3 code to demonstrate working of
# Range length Strings extraction
# using list comprehension + len()
 
# initialize list
test_list = ['gfg', 'is', 'best', 'for', 'neveropen']
 
# printing original list
print("The original list : " + str(test_list))
 
# initialize i, j
i, j = 2, 3
 
# Range length Strings extraction
# using list comprehension + len()
res = [ele for ele in test_list if len(ele) >= i and len(ele) <= j]
 
# printing result
print("The range sized strings are : " + str(res))


Output : 

The original list : ['gfg', 'is', 'best', 'for', 'neveropen']
The range sized strings are : ['gfg', 'is', 'for']

 

Time Complexity: O(n) where n is the number of elements in the string list. The list comprehension + len() is used to perform the task and it takes O(n) time.
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the res list.

Method #2 : Using filter() + lambda 

The combination of above functionalities can be used to perform this task. In this, we extract the elements using filter() and logic is compiled in a lambda function.

Python3




# Python3 code to demonstrate working of
# Range length Strings extraction
# using filter() + lambda
 
# initialize list
test_list = ['gfg', 'is', 'best', 'for', 'neveropen']
 
# printing original list
print("The original list : " + str(test_list))
 
# initialize i, j
i, j = 2, 3
 
# Range length Strings extraction
# using filter() + lambda
res = list(filter(lambda ele: len(ele) >= i and len(ele) <= j, test_list))
 
# printing result
print("The range sized strings are : " + str(res))


Output : 

The original list : ['gfg', 'is', 'best', 'for', 'neveropen']
The range sized strings are : ['gfg', 'is', 'for']

 

Time Complexity: O(n), where n is the number of elements in the list “test_list”.
Auxiliary Space: O(n), where n is the number of elements in the list “test_list”.

Method #3: Using a for loop and if statement

  • Initialize an empty list to store the range-sized strings.
  • Iterate over each string in the input list using a for loop.
  • Check if the length of the current string is greater than or equal to i and less than or equal to j using an if statement.
  • If the condition is true, append the current string to the result list.
  • Return the result list.

Python3




# Python3 code to demonstrate working of
# Range length Strings extraction
# using for loop and if statement
 
# initialize list
test_list = ['gfg', 'is', 'best', 'for', 'neveropen']
 
# printing original list
print("The original list : " + str(test_list))
 
# initialize i, j
i, j = 2, 3
 
# Range length Strings extraction
# using for loop and if statement
res = []
for ele in test_list:
    if len(ele) >= i and len(ele) <= j:
        res.append(ele)
 
# printing result
print("The range sized strings are : " + str(res))


Output

The original list : ['gfg', 'is', 'best', 'for', 'neveropen']
The range sized strings are : ['gfg', 'is', 'for']

Time complexity: O(n), where n is the length of the input list.
Auxiliary space: O(m), where m is the number of range sized strings found in the input list.

Nango Kalahttps://www.kala.co.za
Experienced Support Engineer with a demonstrated history of working in the information technology and services industry. Skilled in Microsoft Excel, Customer Service, Microsoft Word, Technical Support, and Microsoft Office. Strong information technology professional with a Microsoft Certificate Solutions Expert (Privet Cloud) focused in Information Technology from Broadband Collage Of Technology.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments