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

2021-08-04 04:45:01 字數 725 閱讀 2782

實際案例

某班英語成績以字典形式儲存為,根據成績高低,計算學生排名。

這裡我們將利用內建函式sorted對學生的英語成績排名。

方法一:

首先,我們利用zip()將字典轉化為元組;然後,我們呼叫sorted函式對元組進行排序,**如下:

# -*- coding: utf-8 -*-

from random import randint

student =

# 將字典轉為元組

stu = zip(student.values(), student.keys())

print sorted(stu)

其執行結果如下:

[(1, 'x'), (3, 's'), (40, 'w'), (41, 'a'), (78, 'q'), (90, 'z')]

方法二:

# -*- coding: utf-8 -*-

from random import randint

student =

print sorted(student.items(), key=lambda v: v[1])

其執行結果如下:

[('x', 1), ('s', 3), ('w', 40), ('a', 41), ('q', 78), ('z', 90)]

引數說明:

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

元組可以比較大小 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...

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

案例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...