刚刚在扣扣群里看到有人发的一道题,自己写了一下,不清楚有没有更好的方法
list1=[5,5,8,6,1,5,6,6,9,7,6,5,7,5,8,1,8,4,7] def sort_count(list): ''' :param list: 元素为int型的列表 :return: 元素按照出现次数排序(降序) ''' list2 = [] result = [] for i in set(list): list2.append([list.count(i),i]) list2.sort(reverse=True) for count,num in list2: for i in range(count): result.append(num) return result print(sort_count(list1))