Open In App

Python | Threshold Size Greater Strings Frequency

Last Updated : 02 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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




# 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




# 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.

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




# 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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads