使用python的过程中,当我们提取一些关键字词组成集合的时候,往往是杂乱无章的,这时候我们经常需要按照关键字出现的频率从高到低排列。
今天突然想着练练手,上来写点什么,就写一个不依赖第三方库的方法来排序吧,算法仅是实现列表,不需要安装其他库的(后面有个小作业哈,大家可以试一试自己的动手实操能力哦)
# python 算法如下:
def frequency_sort(items): # 用的是items,输入列表,则一个一个元素处理,输入字符串,则一个个字符处理
# your code here
lstBack=[]
MaxCount=0
for i in range(len(items)):
oneCnt=items.count(items[i])
if oneCnt>MaxCount:
MaxCount=oneCnt #这一步找到列表中,最大出现频率的关键词
while MaxCount>=1:
for j in range(len(items)):
if items.count(items[j])==MaxCount:
lstBack.append(items[j])
MaxCount-=1 #按照关键词出现的频次从高到低放到新表中
for i in range(len(lstBack)-1):
for j in range(i