亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python如何根據(jù)字典中的值排序

 更新時(shí)間:2024年02月10日 09:28:29   作者:AllardZhao  
這篇文章主要介紹了Python如何根據(jù)字典中的值排序問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

如何根據(jù)字典中值的大小,對(duì)字典中的項(xiàng)排序

實(shí)際案例

某班英語(yǔ)成績(jī)以字典形式存儲(chǔ)為:{'LiLei': 79, 'Jim': 88, 'Lucy': 92, ...}

根據(jù)成績(jī)高低,計(jì)算學(xué)生排名。

注:字典的鍵就是學(xué)生名字,字典的值是學(xué)生分?jǐn)?shù)。

解決方案

使用內(nèi)置函數(shù)sorted

方法1:利用zip將字典數(shù)據(jù)轉(zhuǎn)換成元組列表

方法2:傳遞給sorted函數(shù)的key參數(shù)

代碼演示

# 使用sorted對(duì)列表進(jìn)行排序
print(sorted([9, 1, 2, 8, 5]))
 
from random import randint
 
# 創(chuàng)建隨機(jī)的成績(jī)表,使用字典解析
c = {x: randint(60, 100) for x in 'abcded'}
print(c)
print(sorted(c))
# 方法1:
'''
直接使用sorted對(duì)字典排序,并不是按照值進(jìn)行排序的,而是按照鍵。
sorted()傳入的是可迭代對(duì)象,對(duì)于字典進(jìn)行某種轉(zhuǎn)換,讓它變成sorted可以排序的結(jié)構(gòu)。
將字典轉(zhuǎn)換成元組列表,如: [(97, 'a'), (69, 'b')],然后直接比較元組第一個(gè)值
'''
# 得到字典所有健或所有的值
# print(c.keys())
# print(c.values())
# 使用zip函數(shù),將兩個(gè)列表拼起來(lái)變成一個(gè)列表,因?yàn)榉祷氐氖且粋€(gè)對(duì)象所以使用list()函數(shù)轉(zhuǎn)換一下
print(list(zip(c.values(), c.keys())))
# 然后對(duì)合成的元組列表進(jìn)行排序
print(sorted(zip(c.values(), c.keys())))
 
# 方法2:
# 將字典的k:v以元組列表的形式返回
print(c.items())
# 設(shè)置sorted的key參數(shù)為字典的value
print(sorted(c.items(), key=lambda x: x[1]))

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論