How to count the frequency of the elements in an unordered list?

后端 未结 30 2883
时光说笑
时光说笑 2020-11-22 02:37

I need to find the frequency of elements in an unordered list

a = [1,1,1,1,2,2,2,2,3,3,4,5,5]

output->

b =         


        
30条回答
  •  不思量自难忘°
    2020-11-22 02:45

    from collections import OrderedDict
    a = [1,1,1,1,2,2,2,2,3,3,4,5,5]
    def get_count(lists):
        dictionary = OrderedDict()
        for val in lists:
            dictionary.setdefault(val,[]).append(1)
        return [sum(val) for val in dictionary.values()]
    print(get_count(a))
    >>>[4, 4, 2, 1, 2]
    

    To remove duplicates and Maintain order:

    list(dict.fromkeys(get_count(a)))
    >>>[4, 2, 1]
    

提交回复
热议问题