#-*-Encoding=utf-8-*-
Import operator
#按字典值排序 (the default is ascending)
x = {1:2, 3:4, 4:3, 2:1, 0:0}
sorted_x = sorted (X.iteritems (), Key=operator.itemgetter (1))
Print sorted_x
#[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]
#如果要降序排序, you can specify Reverse=true
sorted_x = sorted (X.iteritems (), Key=operator.itemgetter (1), reverse=true)
Print sorted_x
#[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]
#或者直接使用list的reverse方法将sorted_x顺序反转
#sorted_x. Reverse ()
#取代方法是, use lambda expressions
sorted_x = sorted (X.iteritems (), Key=lambda x:x[1])
Print sorted_x
#[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]
sorted_x = sorted (X.iteritems (), Key=lambda x:x[1], reverse=true)
Print sorted_x
#[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]
#包含字典dict的列表list的排序方法与dict的排序类似, as follows:
x = [{' Name ': ' Homer ', ' age ': ' the ', ' {' name ': ' Bart ', ' Age ': 10}]
sorted_x = sorted (x, Key=operator.itemgetter (' name '))
Print sorted_x
#[{' age ': Ten, ' name ': ' Bart '}, {' Age ':, ' name ': ' Homer '}]
sorted_x = sorted (x, Key=operator.itemgetter (' name '), reverse=true)
Print sorted_x
#[{' age ': "The ' name ': ' Homer '}, {' Age ': Ten, ' name ': ' Bart '}]
sorted_x = sorted (x, Key=lambda x:x[' name ')
Print sorted_x
#[{' age ': Ten, ' name ': ' Bart '}, {' Age ':, ' name ': ' Homer '}]
sorted_x = sorted (x, Key=lambda x:x[' name '], reverse=true)
Print sorted_x
#[{' age ': "The ' name ': ' Homer '}, {' Age ': Ten, ' name ': ' Bart '}]
The Python dictionary is sorted by value, with the list of dictionaries sorted by dictionary values