0

我有一本字典,其中的条目格式为

a = dict({(2,2013):[], (2,2011):[], (7,2013):[] , (4,2013):[]})

我希望我的输出是这样的:

{(2,2011):[], (2,2013):[], (4,2013):[] , (7,2013):[]}

顺便说一句,它应该是(月,年),我怎样才能做到这一点?

4

3 回答 3

1
import operator
myDict = {1: 1, 2: 2, 4:4, 2:1}
sorted_myDict = sorted(myDict.iteritems(), key=operator.itemgetter(1))

sorted_myDict 将是按每个元组中的第二个元素排序的元组列表。

@Decency 的回答也是很好的选择。

于 2013-10-08T18:37:08.637 回答
0

如果出于某种原因需要保留订单,可以使用 OrderedDict 对象。

有序字典就像普通字典一样,但它们会记住插入项目的顺序。当迭代一个有序字典时,项目按照它们的键被第一次添加的顺序返回。

文档:http ://docs.python.org/2/library/collections.html#collections.OrderedDict

class collections.OrderedDict([items])
于 2013-10-08T18:35:09.720 回答
0

经过大量尝试后,我改变了方法,而不是元组,我使用了日期时间对象,然后应用了:

月排序=排序(月.iteritems(),键=operator.itemgetter(0))

于 2013-10-09T10:10:04.440 回答