成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python 如何在list中找Topk的數(shù)值和索引

瀏覽:3日期:2022-06-19 09:19:29
需求:

對(duì)于一個(gè)python list 或者numpy數(shù)組,我需要找到這個(gè)list中最大的K個(gè)數(shù)及其對(duì)應(yīng)的下標(biāo)。

解決方式:

1. 可以構(gòu)造字典通過(guò)排序解決,不過(guò)代碼量較多。

2. 使用heapq庫(kù),可以直接獲取最大值的下標(biāo)和數(shù)值。

import heapqa = [4,2,6,1,9,9] # 獲取下標(biāo), 輸出為[4, 5, 2]heapq.nlargest(3, range(len(a)), a.__getitem__) # 獲取數(shù)值, 輸出為[9, 9, 6]heapq.nlargest(3,a)

如果要取最小的數(shù),使用 nsmallest即可

補(bǔ)充:Python 利用中間值求TopK 算法

算法思想

首先我們要思考,我要做什么?解決什么問(wèn)題?

TopK問(wèn)題,找出一組數(shù)據(jù)中的前K個(gè)最大值或者最小值,這個(gè)數(shù)據(jù)是否重復(fù)?要做去重處理?

ok 我們明確我們做什么了 ,那介紹的python處理的topK 算法過(guò)程是怎么樣的呢?

如果用排序那就沒(méi)必要引入topK 了,當(dāng)數(shù)據(jù)強(qiáng)大的時(shí)候選取TopK 可以省略很多排序的計(jì)算,至于有多優(yōu)化自己去思考下,就比如排列組合的C,A的區(qū)別,一個(gè)是抽取,一個(gè)是抽取并排列…

以下以找出TopK 的最大值為例,最小值的可以自己修改一下下就可以

介紹的算法思想是利用中間值,將數(shù)列分為三部分 ,

【比中間值大的列表】,中間值,【比中間值小的列表】

那么我們當(dāng)比較

【比中間值大的列表】的個(gè)數(shù) == k

的時(shí)候就可以得出前K個(gè)最大值了,因此

重點(diǎn)就是找出這個(gè)中間值如何找出中間值

以列表的第一個(gè)數(shù)開(kāi)始為中間值,拆分為三部分

if 【比中間值大的列表】的個(gè)數(shù) == k:return 中間值 #程序出口,結(jié)束。

if 【比中間值大的列表】的個(gè)數(shù) < k :

·····繼續(xù)在【比中間值小的列表】找

·····K - 【比中間值大的列表】的個(gè)數(shù) -1 個(gè)數(shù)

(為什么要減一,1是前一次的中間值,分的三部分,前部分后部分都沒(méi)有包含中間值,因此…)

if 【比中間值大的列表】的個(gè)數(shù) > k :

…也就是說(shuō)比中間值大的列表比K還大,那就在這個(gè)列表中繼續(xù)找就行

結(jié)合代碼和注釋看

如果要找最小值,只需要改一下就ok ,還可以設(shè)置一個(gè)布爾值的輸入,來(lái)做前K個(gè)最大值最小值

#2019 11 04#author 半斤地瓜燒#TopK 算法,找出序列中前K個(gè)最大值的#輸入一個(gè)seq# 輸出以seq[0]為中間值 劃分的三個(gè)部分,中間值,比這個(gè)值大的seq ,比這個(gè)值小的seq,# 即splitNum,theBig,theSmalldef Split_Seq(seq): splitNum = seq[0] seq = seq[1:]#兩個(gè)部分都不包含中間值,因此切片去除seq[0] theBig = [x for x in seq if x >= splitNum] theSmall = [x for x in seq if x < splitNum] return splitNum,theBig,theSmall#找出中間值def topKNum(seq,k): splitNum, theBig, theSmall = Split_Seq(seq) theBigLen = len(theBig)if k == theBigLen:return splitNum#出口,返回這個(gè)中間值, # 為什么不直接返回thebig?因?yàn)榇嬖谶f歸的原因thebig 不是在初始的seq找出來(lái)的 #需要重新Split,即可,讀者自己思考 # 大值的列表中還未夠K個(gè)數(shù)的情況, if k > theBigLen:return topKNum(theSmall,k-theBigLen-1) # 大值的列表中大于K個(gè)數(shù)的情況 return topKNum(theBig,k)#由中間值找出TopK個(gè)值,<list>def getTopK(seq,k):return [i for i in seq if i > topKNum(seq, k)]if __name__ == ’__main__’: alist = [7, 3, 5, 1,885,234,2211,222,22, 2, 11, 2, 115] print('===為了驗(yàn)證,引入排序觀看===', sorted(alist,reverse= True)) print(getTopK(alist, 3))

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品一区二区久久精品爱涩| 精品国产精品网麻豆系列| 欧美成人r级一区二区三区| 久久精品国产久精国产爱| 久久久久久久久久久久久久一区 | 精品一二三四区| 欧洲视频一区二区| 蜜桃传媒麻豆第一区在线观看| 久久综合狠狠综合久久综青草| 午夜视频一区在线观看| 亚洲永久在线| 日产欧产美韩系列久久99| 91精彩视频在线观看| 免费观看久久久4p| 欧美少妇性性性| 麻豆精品在线观看| 欧美日韩一区在线观看| 国模娜娜一区二区三区| 欧美一区二区三级| 成人午夜电影久久影院| 久久久99免费| 欧美日韩国产综合网| 中文字幕一区二区视频| 一区二区三区导航| 午夜欧美在线一二页| 久久久久久久久久久久久9999| 日本在线不卡视频| 777亚洲妇女| 91在线观看视频| 18成人在线观看| 美女久久网站| 国产一区二区主播在线| xfplay精品久久| 亚洲国产精品久久久久婷婷老年| 亚洲妇熟xx妇色黄| 欧美日韩一区精品| 成人涩涩免费视频| 国产精品欧美久久久久无广告 | 久久精品首页| 日韩国产欧美三级| 欧美一区二区日韩一区二区| 91美女片黄在线| 亚洲欧美一区二区久久| 久久久久一区二区三区| 国产精品18久久久久久久久 | 中文子幕无线码一区tr| 伊人久久婷婷| 日韩有码一区二区三区| 欧美成人三级在线| 久久青青草综合| 欧美日韩在线一区二区| 国产一区在线观看视频| 欧美亚洲国产怡红院影院| 成人18视频在线播放| 国产精品不卡在线观看| 久久精品导航| 国产福利91精品| 国产精品国产三级国产普通话三级| 新67194成人永久网站| 国产成人av电影在线播放| aaa亚洲精品| 欧美久久久久免费| 色综合久久中文综合久久牛| 一个色妞综合视频在线观看| 欧美日韩免费在线视频| 欧美一区综合| 亚洲va天堂va国产va久| 日韩精品一区二区三区在线| 精品少妇一区二区| 亚洲一区二区三区涩| 国产一区二区剧情av在线| 国产精品天美传媒| 色8久久精品久久久久久蜜| 不卡在线观看av| 亚洲一区在线观看免费观看电影高清| 欧美狂野另类xxxxoooo| 亚洲国产午夜| 国产福利一区二区三区| 亚洲免费在线视频| 日韩一卡二卡三卡| 国产一区二区高清| 懂色av一区二区三区蜜臀| 亚洲激情男女视频| 日韩一区二区三区视频| 亚洲电影在线| 国产福利91精品一区二区三区| 亚洲女厕所小便bbb| 9191久久久久久久久久久| 亚洲精品一区二| 成人av影院在线| 丝袜诱惑亚洲看片| 亚洲国产精品激情在线观看| 欧美羞羞免费网站| 亚洲精品日本| 成人国产电影网| 亚洲国产va精品久久久不卡综合| 337p日本欧洲亚洲大胆色噜噜| 色综合久久久久综合体桃花网| 91免费视频网址| 另类小说视频一区二区| 亚洲天堂福利av| 欧美精品一区二区三区高清aⅴ| 久久久精品性| 欧美午夜不卡| 高清久久久久久| 热久久国产精品| 亚洲精品网站在线观看| 久久蜜臀精品av| 欧美色网站导航| 欧美理论在线| 国产老妇另类xxxxx| 亚洲成av人在线观看| 国产精品久久久久9999吃药| 日韩一区二区三区电影在线观看| 久久精品女人| 狠狠色噜噜狠狠色综合久| 久久久久久久久久久久久女国产乱| 日本三级韩国三级欧美三级| 国产农村妇女毛片精品久久麻豆| 欧美猛男超大videosgay| 国产色综合网| 欧美精品黄色| 国产精品伊人色| 午夜欧美一区二区三区在线播放| 国产精品美女久久久久久久| 欧美精品v国产精品v日韩精品| 欧美不卡在线视频| 一区二区三区欧美在线| 97久久精品人人澡人人爽| 国内久久精品视频| 五月天激情综合网| 亚洲视频在线一区| 欧美国产一区在线| 日韩精品一区二区三区swag| 欧美亚洲动漫制服丝袜| 久久福利电影| 亚洲精品乱码久久久久久蜜桃麻豆 | 伊人久久婷婷| 91丝袜美腿高跟国产极品老师| 国产精品亚洲视频| 麻豆91免费观看| 日韩成人精品在线| 亚洲高清免费观看 | 欧美中文字幕一二三区视频| 一级成人国产| 在线精品亚洲一区二区| 91麻豆福利精品推荐| 大胆欧美人体老妇| 国产成人av一区二区三区在线 | 在线 亚洲欧美在线综合一区| 91免费国产在线观看| 成人丝袜18视频在线观看| 国产精品亚洲午夜一区二区三区| 久久成人精品无人区| 蜜臀av一级做a爰片久久| 亚州成人在线电影| 亚洲午夜国产一区99re久久| 一区精品在线播放| 国产精品日韩成人| 欧美国产日韩亚洲一区| 国产网站一区二区| 久久精品网站免费观看| 国产午夜亚洲精品午夜鲁丝片| 国产亚洲短视频| 国产日产精品一区| 日本一区二区免费在线观看视频| 久久久精品欧美丰满| 久久久精品人体av艺术| 国产日韩欧美精品电影三级在线 | 狠狠色狠狠色综合| 黑人巨大精品欧美一区| 久久国产婷婷国产香蕉| 蜜桃视频在线观看一区二区| 美国欧美日韩国产在线播放| 麻豆91精品视频| 国内精品视频666| 国产原创一区二区三区| 国产精品夜夜嗨| 成人免费毛片嘿嘿连载视频| 97精品国产露脸对白| 欧美黄色一区二区| 亚洲国产二区| 国产伦精品一区二区三区高清版| 久久久久se| 欧美性欧美巨大黑白大战| 欧美三级韩国三级日本一级| 欧美色图激情小说| 欧美一级免费观看| 久久综合九色综合97_久久久| 欧美激情一二三区| 亚洲免费在线观看| 午夜激情综合网| 久久精品国产99久久6| 国产精品一区二区久久精品爱涩| 东方欧美亚洲色图在线| 91亚洲精品久久久蜜桃| 欧美深夜福利| 国产亚洲精品v| 欧美午夜不卡视频| 日韩女优毛片在线|