1. 程式人生 > >Python - 字典按值(value)排序

Python - 字典按值(value)排序

key list odi script dcl nes spl ava port

字典安值排序是一個偽命題.
字典本身是不能被排序的, 已經依照關鍵字(key)排序, 可是列表(list)和元組(tuple)能夠排序, 所以字典須要轉換列表後排序.

import operator
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(1))

則是轉換列表後的排序, dict(sorted_x) == x, 列表轉換字典.


代碼

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

import operator

x = {1
: 2, 3: 4, 4: 3, 2: 1, 0: 0} # 依據值排序 sorted_x = sorted(x.items(), key=operator.itemgetter(1)) print ‘x = ‘ + str(x) print ‘sorted_x = ‘ + str(sorted_x) print ‘dict(sorted_x) = ‘ + str(dict(sorted_x)) x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0} sorted_x = sorted(x.items(), key=operator.itemgetter(0)) print ‘x = ‘
+ str(x) print ‘sorted_x = ‘ + str(sorted_x) print ‘dict(sorted_x) = ‘ + str(dict(sorted_x)) """ 輸出: x = {0: 0, 1: 2, 2: 1, 3: 4, 4: 3} sorted_x = [(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)] dict(sorted_x) = {0: 0, 1: 2, 2: 1, 3: 4, 4: 3} x = {0: 0, 1: 2, 2: 1, 3: 4, 4: 3} sorted_x = [(0, 0), (1, 2), (2, 1), (3, 4), (4, 3)] dict(sorted_x) = {0: 0, 1: 2, 2: 1, 3: 4, 4: 3} """

Python - 字典按值(value)排序