python字典中的元素可以排序嗎?python字典按照value排序方法

python中,我們了解過可以對列表、字符串的元素進行排序,那對于python字典中的元素可以排序嗎?其實對于字典本身我們無法進行排序,但是我們可以對字典按值排序 。本文介紹python中對字典按照value進行排序的三種方法,下面一起來學習一下吧!

【python字典中的元素可以排序嗎?python字典按照value排序方法】

python字典中的元素可以排序嗎?python字典按照value排序方法


方法一:使用key和value進行封裝成元組
實例如下:
f = zip(d.keys(), d.values())a = sorted(f)print(a)以上的代碼是通過將一個d的key值和value使用zip進行封裝成一個元組f,最后再利用sorted函數對它進行排序,然后輸出a的值 。
方法二:key使用lambda匿名函數取value值進行排序
實例如下:
dict= {'a':1,'b':2,'c':3}sorted(dict.items(),key = lambda x:x[1],reverse = True)代碼中使用value對字典進行排序,它是按照一個value值的大小進行排序的,在一個字典中因為是無序的,所以使用一個列表去對它進行排序將一個字典的key和value保存為一個元組對象 。
方法三:使用operator的itemgertter進行排序
使用這種方法來對字典進行排序,排序的速度比方法二使用匿名函數更快,同時它還支持多個關鍵字同時排序 。在使用之前,需要導入operator模塊 。
例如我們現在有一個字典,里面存儲的是學生的姓名、年齡、還有成績 。
students = [{"name": "xiaoxiao", "age": 22, "score": 92},{"name": "wangwang", "age": 19, "score": 99},{"name": "huang", "age": 23, "score": 82},]代碼如下:
from operator import itemgetterstudents_by_score_age = sorted(students, key=itemgetter("score", "age"), reverse=True)print(students_by_score_age)就是通過使用itemgertter進行來對學生的成績進行排序,從運行結果可以看出來,排序的順序是降序 。
輸出結果:
[{"name": "wangwang", "age": 19, "score": 99},{"name": "xiaoxiao", "age": 22, "score": 92},{"name": "huang", "age": 23, "score": 82},]關于“python字典中的元素可以排序嗎?python字典按照value排序方法”就講解到這里啦,上面給大家介紹了三種關于字典排序的方法,趕緊動手去實踐一下吧!

    猜你喜歡