In python, how do I take the highest occurrence of something in a list, and sort it that way?

后端 未结 5 1994
别那么骄傲
别那么骄傲 2021-01-19 06:20
[3, 3, 3, 4, 4, 2]

Would be:

[ (3, 3), (4, 2), (2, 1) ]

The output should be sorted by highest count first to low

5条回答
  •  梦谈多话
    2021-01-19 06:21

    data = [3, 3, 3, 4, 4, 2]
    result = []
    for entry in set(data):
        result.append((entry, data.count(entry)))
    result.sort(key = lambda x: -x[1])
    print result
    
    >>[(3, 3), (4, 2), (2, 1)]
    

提交回复
热议问题