如何通过伪复合键对字典进行排序?

bdf*_*dfy 0 python

我有一本字典:

test = {}
test[(1,2)] = 1
test[(4,3)] = 1
test[(1,4)] = 1
Run Code Online (Sandbox Code Playgroud)

如何按"伪复合键"排序:元组的第一个元素和元组的第二个元素之后?

agf*_*agf 7

test = {}
test[(1,2)] = 1
test[(4,3)] = 2
test[(1,4)] = 3

print sorted(test.iteritems())
Run Code Online (Sandbox Code Playgroud)

会给你:

[((1, 2), 1), ((1, 4), 3), ((4, 3), 2)]
Run Code Online (Sandbox Code Playgroud)

如果你想要它们作为字典:

import OrderedDict
sorted_test = OrderedDict(sorted(test.iteritems()))
Run Code Online (Sandbox Code Playgroud)

你有一本按它的键排序的字典.

这一切都有效,因为默认情况下,元组排序如您所述.