Python | Threshold Size Greater Strings Frequency
Sometimes, while working with huge amount of data, we can have a problem in which we need to know count of just specific sized strings which are greater than a specific length. 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 strings which have length greater than K checked using len(). The count is extracted using len().
# Python3 code to demonstrate working of
# Threshold Size Greater Strings Frequency
# using list comprehension + len()
# initialize list
test_list = ['gfg', 'is', 'best', 'for', 'geeks']
# printing original list
print("The original list : " + str(test_list))
# initialize K
K = 3
# Threshold Size Greater Strings Frequency
# using list comprehension + len()
res = len([ele for ele in test_list if len(ele) >= K])
# printing result
print("The frequency of threshold K sized strings are : " + str(res))
Output
The original list : ['gfg', 'is', 'best', 'for', 'geeks'] The frequency of threshold K sized strings are : 4
Method #2 : Using filter() + len() + 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. The count is extracted using len().
# Python3 code to demonstrate working of
# Threshold Size Greater Strings Frequency
# using filter() + lambda + len()
# initialize list
test_list = ['gfg', 'is', 'best', 'for', 'geeks']
# printing original list
print("The original list : " + str(test_list))
# initialize K
K = 3
# Threshold Size Greater Strings Frequency
# using filter() + lambda + len()
res = len(list(filter(lambda ele: len(ele) >= K, test_list)))
# printing result
print("The frequency of threshold K sized strings are : " + str(res))
Output
The original list : ['gfg', 'is', 'best', 'for', 'geeks'] The frequency of threshold K sized strings are : 4
Method #3: Using a for loop
- Initialize a counter variable to 0.
- Loop through each element in the list using a for loop.
- For each element, check if its length is greater than or equal to K.
- If it is, increment the counter variable.
- After the loop finishes, the value of the counter variable is the frequency of threshold K sized strings.
- Print the frequency.
test_list = ['gfg', 'is', 'best', 'for', 'geeks']
print("The original list : " + str(test_list))
K = 3
count = 0
for ele in test_list:
if len(ele) >= K:
count += 1
print("The frequency of threshold K sized strings are : " + str(count))
Output
The original list : ['gfg', 'is', 'best', 'for', 'geeks'] The frequency of threshold K sized strings are : 4
Time complexity: O(n), where n is the length of the input list.
Auxiliary space: O(1), since we only use a counter variable.
Method 4: Using numpy
# Python3 code to demonstrate working of
# Threshold Size Greater Strings Frequency
# using numpy
import numpy as np
# initialize list
test_list = ['gfg', 'is', 'best', 'for', 'geeks']
# printing original list
print("The original list : " + str(test_list))
# initialize K
K = 3
# Threshold Size Greater Strings Frequency
# using numpy
res = np.sum(np.array([len(ele) >= K for ele in test_list]))
# printing result
print("The frequency of threshold K sized strings are : " + str(res))
Output:
The original list : ['gfg', 'is', 'best', 'for', 'geeks'] The frequency of threshold K sized strings are : 4
Time complexity: O(n), where n is the length of the input list.
Auxiliary space: O(n) auxiliary space to create the intermediate list of Boolean values.