如何根據字典中值的大小, 對字典中的項排序

2022-09-11 23:24:24 字數 960 閱讀 8757

#元組可以比較大小

(3, 2) > (1, 4) #返回true,3 > 1

(3, 2) > (3, 4) #返回false,2 < 4

#1.列表解析

from random import randint

d = #產生資料

l = [(v, k) for k, v in d.items()] #列表解析

sorted(l, reverse=true) #倒序

執行結果:

[(97, 'e'),

(92, 'g'),

(87, 'b'),

(83, 'c'),

(76, 'f'),

(70, 'd'),

(68, 'h'),

(66, 'a')]

#2.zip函式

list(zip([1, 2, 3], [4, 5, 6])) #zip函式返回的生成器物件傳遞給list構造器

l = list(zip(d.values(), d.keys()))

sorted(l, reverse=true)

執行結果:

[(99, 'e'),

(87, 'h'),

(87, 'a'),

(85, 'f'),

(81, 'd'),

(79, 'g'),

(75, 'b'),

(60, 'c')]

d = 

p = sorted(d.items(), key=lambda item: item[1], reverse=true)

d = #字典解析

d

執行結果:

如何根據字典中值的大小,對字典中的項排序

實際案例 某班英語成績以字典形式儲存為,根據成績高低,計算學生排名。這裡我們將利用內建函式sorted對學生的英語成績排名。方法一 首先,我們利用zip 將字典轉化為元組 然後,我們呼叫sorted函式對元組進行排序,如下 coding utf 8 from random import randin...

根據字典中值得大小,對字典中的項排序

案例1 某班語文科目的成績以字典形式儲存,形式為 根據成績高低,計算學生的排名 解決方案 使用內建函式sorted 1,利用zip將字典資料轉化為元組 2,傳遞sorted函式的key引數 eg v1 利用zip將字典資料轉化為元組 from random import randint stud 建...

Python中如何對字典按值的大小進行排序

例如某個班級的數學成績如下 dict points 我們需要對該字典進行輸出列印,要求是按分數從高到低輸出 首先將該字典的每個item轉化為元組的 value,key 形式,例如 87,小紅 將每個item轉收集並放入列表li中 用max 方法獲取值最大的元組,遍歷列表lili for key in...