python 字典按values排序取前最大的N個(包含並列情況)?

時間 2021-06-06 15:09:37

1樓:智信

from

collections

import

Counter

defget_order_dict_N

(_dict,N

):result

=Counter

(_dict).

most_common(N

)d={}

fork,v

inresult:d

[k]=

vreturn

d簡單粗暴,利用python collections模組,採用堆排序原理,效率不錯。

2樓:鄭多比

deforder_dict_N

(dict,N

=2):b

=sorted

([(k,v

)fork,

vina.

items

()],

reverse

=True)e

=set

()foriin

b:e.

add(i[

1])result=

fori

insorted(e

,reverse

=True

)[:2

]:forjin

b:ifj

[1]==

i:result.(

j)return

result

不過這個方法返回的會是乙個list,元素為tuple。形式為:

[('LAST', 11), ('ALTT', 9), ('ALST', 9)]

如果題主還想轉為乙個字典,再自行轉化一波吧。

Python 字典為什麼是無序的

翻了下答案,發現大部分答案都在回答為什麼雜湊表是無序的,少有答案回答 key 是如何儲存的。我來補充一下。字典的建立過程為 Python 直譯器首先定義乙個空的列表專門用來儲存 key value 鍵值對。當你輸入 後,內建雜湊演算法對 key 進行雜湊計算,得到儲存位置。例如 hash a 0,h...

你覺得python的字典和json差不多嗎?

json的型別是字串,字典的型別是字典。這是本質區別。例如乙個json是 str1 有的笨豬這樣寫 str1 a 傻得一逼,str1這個變數是乙個符合json格式的字串,str1這個變數歸根結底是乙個字串,就不能用鍵來取值了。 xLI4n jb jb講的很詳細了,除了一些json的強制要求 比如雙引...

請問python 中字典dic 什麼意思呢,為什麼裡面沒有key和value?

誰與爭鋒 這個代表建立乙個空字典,如果你不知道這個變數是什麼型別 print type 變數名 這樣就可以列印出變數的型別,方便你去理解 黃哥 請看help 文件 In 2 dict?Init signature dict self,args,kwargs Docstring dict new em...