Given a String, find the frequency of certain characters in the index range.
Input : test_str = ‘neveropen is best for neveropen’, i = 3, j = 9, K = ‘e’
Output : 0
Explanation : No occurrence of ‘e’ between 4th [s] and 9th elementInput : test_str = ‘neveropen is best for neveropen’, i = 0, j = 9, K = ‘e’
Output : 2
Explanation : e present as 2nd and 3rd element.
Method #1: Using slicing and count()
In this, we perform slicing of required string using slice operation, then count() is used to get count of K in that sliced String.
Python3
| # Python3 code to demonstrate working of # Frequency of K in sliced String# Using slicing + count()# initializing stringstest_str ='neveropen is best for neveropen'# printing original stringprint("The original string is : "+str(test_str))# initializing i, ji, j =3, 20# initializing K K ='e'# slicing String slc =test_str[i : j]# using count() to get count of K res =slc.count(K)# printing result print("The required Frequency : "+str(res))  | 
The original string is : neveropen is best for neveropen The required Frequency : 3
Time complexity: O(n), where n is the length of the sliced string, as the code needs to traverse the entire sliced string to count the frequency of K. 
Auxiliary space: O(1), as the code, only uses a constant amount of memory regardless of the length of the input string.
Method #2 : Using Counter() + slicing
In this, we perform the task of getting count using Counter(), and slicing is used to perform slice of ranges.
Python3
| # Python3 code to demonstrate working of # Frequency of K in sliced String# Using Counter() + slicing fromcollections importCounter# initializing stringstest_str ='neveropen is best for neveropen'# printing original stringprint("The original string is : "+str(test_str))# initializing i, ji, j =3, 20# initializing K K ='e'# slicing String slc =test_str[i : j]# Counter() is used to get count res =Counter(slc)[K]# printing result print("The required Frequency : "+str(res))  | 
The original string is : neveropen is best for neveropen The required Frequency : 3
Time Complexity: O(n) -> (slicing)
Auxiliary Space: O(n)
Method #3: Using operator.countOf()
Python3
| # Python3 code to demonstrate working of # Frequency of K in sliced String# Using slicing + operator.countOf()importoperator as op# initializing stringstest_str ='neveropen is best for neveropen'# printing original stringprint("The original string is : "+str(test_str))# initializing i, ji, j =3, 20# initializing K K ='e'# slicing String slc =test_str[i : j]# using operator.countOf() to get count of K res =op.countOf(slc,K)# printing result print("The required Frequency : "+str(res))  | 
The original string is : neveropen is best for neveropen The required Frequency : 3
Time Complexity: O(N), where n is the length of the given string
Auxiliary Space: O(N)
Method #4 : Using for loop
Python3
| # Python3 code to demonstrate working of# Frequency of K in sliced String# initializing stringstest_str ='neveropen is best for neveropen'# printing original stringprint("The original string is : "+str(test_str))# initializing i, ji, j =3, 20# initializing KK ='e'res=0forp inrange(i,j):    if(test_str[p]==K):        res+=1# printing resultprint("The required Frequency : "+str(res)) | 
The original string is : neveropen is best for neveropen The required Frequency : 3
Time Complexity: O(N), where n is the length of the given string
Auxiliary Space: O(N)
Method #5: Using regex findall()
This program aims to count the frequency of a given character K in a sliced string slc of the input string test_str. It does so by using the re.findall() method from the re module to find all occurrences of the character K in the sliced string slc, and then assigning the length of the resulting list to the res variable. Finally, the program prints the frequency of character K in the sliced string slc.
Step-by-step approach:
- Import the re module to work with regular expressions.
- Initialize the test_str variable with the input string.
- Print the original string using the print() function.
- Initialize variables i and j to slice the string. The slice will be from index i up to but not including index j.
- Initialize the K variable with the character whose frequency we want to count.
- Slice the input string using string slicing notation and assign it to the slc variable.
- Use the findall() method from the re module to find all occurrences of the character K in the sliced string slc.
- Assign the length of the list returned by findall() to the res variable.
- Print the frequency of character K in the sliced string slc.
Below is the implementation of the above approach:
Python3
| importre# initializing stringstest_str ='neveropen is best for neveropen'# printing original stringprint("The original string is : "+str(test_str))# initializing i, ji, j =3, 20# initializing KK ='e'# slicing Stringslc =test_str[i:j]# using regex findall() to get count of Kres =len(re.findall(K, slc))# printing resultprint("The required Frequency : "+str(res)) | 
The original string is : neveropen is best for neveropen The required Frequency : 3
Time Complexity: O(n), where n is the length of the sliced string.
Auxiliary Space: O(m), where m is the number of matches found by findall().
Method #6: Using the built-in function filter() with lambda function
Step-by-step approach:
- Define a lambda function that takes a character as input and returns True if it’s equal to K, False otherwise.
- Use the filter() function to filter out the characters in the sliced string that satisfy the condition in the lambda function.
- Find the length of the resulting filtered object, which gives the frequency of K in the sliced string.
Below is the implementation of the above approach:
Python3
| # Python3 code to demonstrate working of# Frequency of K in sliced String# initializing stringstest_str ='neveropen is best for neveropen'# printing original stringprint("The original string is : "+str(test_str))# initializing i, ji, j =3, 20# initializing KK ='e'# using filter() with lambda function to count frequencyfiltered_str =filter(lambdax: x ==K, test_str[i:j])res =len(list(filtered_str))# printing resultprint("The required Frequency : "+str(res)) | 
The original string is : neveropen is best for neveropen The required Frequency : 3
Time complexity: O(n), where n is the length of the sliced string.
Auxiliary space: O(k), where k is the number of occurrences of K in the sliced string.

 
                                    







