Related Articles
Python – Test for Unique Frequencies
• Last Updated : 10 Jul, 2020

Given a list, find if frequencies of each element of values are in itself unique values.

Input : test_list = [4, 3, 2]
Output : False
Explanation : All have 1 as frequency, hence duplicacy, hence False

Input : test_list = [4, 3, 3, 2, 2, 2]
Output : True
Explanation : 1, 2, 3 are frequecies of 4, 3, 2 respectively, unique, hence True

Method #1 : Using loop + `set()`
The combination of above functionalities provide brute force way to solve this problem. In this, we memoize the frequency of elements by incrementing the index of value occurred. Then set() is used to remove duplicates and test if it’s length is same as before the conversion.

 `# Python3 code to demonstrate working of ``# Test for Unique Frequencies``# Using loop + set()`` ` `# initializing list``test_list ``=` `[``4``, ``3``, ``2``, ``2``, ``3``, ``4``, ``4``, ``4``, ``1``, ``2``]`` ` `# printing original list ``print``(``"The original list : "` `+` `str``(test_list))`` ` `# Test for Unique Frequencies``res ``=` `False``temp ``=` `[``0``] ``*` `5``for` `ele ``in` `test_list:``     ` `    ``# performing memoization in temp list``    ``temp[ele] ``+``=` `1``mem_list ``=` `temp[``1``:]`` ` `# checking for set converted list length with original list``if` `len``(``list``(``set``(mem_list))) ``=``=` `len``(mem_list):``    ``res ``=` `True``     ` `# printing result ``print``(``"Are element's Frequencies Unique ? : "` `+` `str``(res))`
Output :

```The original list : [4, 3, 2, 2, 3, 4, 4, 4, 1, 2]
Are element's Frequencies Unique ? : True
```

Method #2 : Using `setdefault() + values()`
The combination of above functions offers yet another way to solve this problem. In this, dictionary is used to memoize and element frequency is recorded as values. At last, similar step of extracting values and dictionary keys count is compared for equality.

 `# Python3 code to demonstrate working of ``# Test for Unique Frequencies``# Using setdefault() + values()`` ` `# initializing list``test_list ``=` `[``4``, ``3``, ``2``, ``2``, ``3``, ``4``, ``4``, ``4``, ``1``, ``2``]`` ` `# printing original list ``print``(``"The original list : "` `+` `str``(test_list))`` ` `# Test for Unique Frequencies``# Using setdefault() + values()``temp ``=` `{}``for` `ele ``in` `test_list: ``     ` `    ``# setting default value to 0``    ``temp.setdefault(ele, ``0``)``    ``temp[ele] ``+``=` `1`` ` `# checking for values and keys equality``res ``=` `len``(``set``(temp.values())) ``=``=` `len``(temp)``     ` `# printing result ``print``(``"Are element's Frequencies Unique ? : "` `+` `str``(res))`
Output :
```The original list : [4, 3, 2, 2, 3, 4, 4, 4, 1, 2]
Are element's Frequencies Unique ? : True
```

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up