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

PythonServer Side ProgrammingProgramming

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.

Published on 17-Apr-2021 16:16:39