用random.randit(1,10)随机生成一个有100个元素的列表;定义一个函数,按列表元素出现次数的高低从高到底排序。
import random
countlist = []
for i in range(100):
countlist.append(random.randint(1, 10))
dict = {}
for key in countlist:
dict[key] = dict.get(key, 0) + 1
print(sorted(dict.items(), key=lambda kv: (kv[1], kv[0]), reverse=True))
from random import randint
list_n = []
flag = 0
while flag <= 99:
n = randint(1,10)
list_n.append(n)
flag += 1
print(list_n)
def frequency_sort(items):
# your code here
lst1 = []
for i in items:
if i not in lst1:
lst1.append(i)
lst = []
dic = {}
# # print(lst1)
for i in lst1:
dic[i] = items.count(i)
dic = dict(sorted(dic.items(), key=lambda x:x[1], reverse=True))
# #print(dic)
count = 0
for k, v in dic.items():
for i in range(v):
lst.append(k)
# # print(lst)
return lst
if __name__ == '__main__':
print("Example:")
print(frequency_sort(list_n))