Open In App

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




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.


Article Tags :