標籤:mystra python 字典排序
字典安值排序是一個偽命題.
字典本身是不能被排序的, 已經按照關鍵字(key)排序, 但是列表(list)和元組(tuple)可以排序, 所以字典需要轉換列表後排序.
如
import operatorx = {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 operatorx = {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)排序