Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Get the quantity of uniq elements and the position of the first one from them solution in Clear category for Sort Array by Element Frequency by nickgryg
def frequency_sort(items):
dct = {}
lst = []
for item in items:
dct[item] = [items.count(item), items.index(item) * -1]
for item in sorted(dct, key=dct.get, reverse=True):
lst += [item] * dct[item][0]
return lst
if __name__ == '__main__':
print("Example:")
print(frequency_sort([4, 6, 2, 2, 6, 4, 4, 4]))
# These "asserts" are used for self-checking and not for an auto-testing
assert list(frequency_sort([4, 6, 2, 2, 6, 4, 4, 4])) == [4, 4, 4, 4, 6, 6, 2, 2]
assert list(frequency_sort(['bob', 'bob', 'carl', 'alex', 'bob'])) == ['bob', 'bob', 'bob', 'carl', 'alex']
assert list(frequency_sort([17, 99, 42])) == [17, 99, 42]
assert list(frequency_sort([])) == []
assert list(frequency_sort([1])) == [1]
print("Coding complete? Click 'Check' to earn cool rewards!")
Oct. 14, 2020
Comments: