Syntax error Python dictionary, set and counter to check if frequencies can become same

Python dictionary, set and counter to check if frequencies can become same



When it is required to check if the frequency of a dictionary, set and counter are same, the Counter package is imported and the input is converted into a ‘Counter’. The values of a dictionary are converted to a ‘set’ and then to a list. Based on the length of the input, the output is displayed on the console.

Below is the demonstration of the same −

Example

 Live Demo

from collections import Counter
def check_all_same(my_input):
   my_dict = Counter(my_input)
   input_2 = list(set(my_dict.values()))
   if len(input_2)>2:
      print('The frequencies are not same')
   elif len (input_2)==2 and input_2[1]-input_2[0]>1:
      print('The frequencies are not same')
   else:
      print('The frequencies are same')

my_str = 'xxxyyyzzzzzz'
print("The string is :")
print(my_str)
check_all_same(my_str)

Output

The string is :
xxxyyyzzzzzz
The frequencies are not same

Explanation

  • The required packages are imported.

  • A method is defined that takes one input as parameter.

  • The input is converted to a Counter and assigned to a variable.

  • The values of a dictionary are accessed using the ‘.values’ method, and is converted to a list.

  • It is again converted to a list, and is assigned to a variable.

  • If the length of the input is greater than 2, it means the frequencies don’t match.

  • Otherwise, if the length of the input is 2 and the difference between second and first index is greater than 1, it means the frequency is not same.

  • Else it means the frequency is same.

  • Outside the method, a string is defined, and the method is called by passing this string.

  • The output is displayed on the console.

Updated on: 2021-04-17T12:47:20+05:30

352 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements