一、topK python实现
def topk(k, lst):
top = [0 for i in range(k)] #生成一个长度为K 的有序列表
for item in lst: #循环将要取 排行榜的列表
for i in range(k-1,-1, -1):
if item > top[i]: #在top 表中找到他的位置并插入
top.insert(i+1,item)
top.pop(0) #删除值最小 索引为0的元素
break #找到了就打断
print(top)
return top
import random
lst = [i for i in range(100)]
random.shuffle(lst) #打乱列表
print(lst)
topk(10,lst)
# 运行结果:
[73, 63, 1, ......, 57, 9, 16, 85...... 40, 20, 97,... 84, 76, 87, 22, ......, 65, 93]
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
原文地址:https://www.cnblogs.com/shiqi17/p/9696251.html
时间: 2024-10-30 02:39:17