Python | Threshold Size Greater Strings Frequency
Last Updated :
02 May, 2023
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
test_list = [ 'gfg' , 'is' , 'best' , 'for' , 'geeks' ]
print ( "The original list : " + str (test_list))
K = 3
res = len ([ele for ele in test_list if len (ele) > = K])
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
test_list = [ 'gfg' , 'is' , 'best' , 'for' , 'geeks' ]
print ( "The original list : " + str (test_list))
K = 3
res = len ( list ( filter ( lambda ele: len (ele) > = K, test_list)))
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.
Python3
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
import numpy as np
test_list = [ 'gfg' , 'is' , 'best' , 'for' , 'geeks' ]
print ( "The original list : " + str (test_list))
K = 3
res = np. sum (np.array([ len (ele) > = K for ele in test_list]))
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.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...