from collections import Counter def modes(nums): # returns a sorted list of frequency tuples (element, frequency) freqs = Counter(nums).most_common() if(len(freqs) == 0): return [] max = freqs[0][1] # get the max frequency return [num for (num, f) in freqs if f == max] print(mode([1,2,2])) # returns [2] print(mode([1,2,2,3,3])) # returns [2,3] print(mode([])) # returns [] print(mode(None)) # returns [] print(mode(5)) # TypeError: 'int' object is not iterable