列出的dict列表

mfa*_*con 3 python sorting dictionary list

我有这个:

dictionary = { (month, year) : [int, int, int] }
Run Code Online (Sandbox Code Playgroud)

我想得到一个包含有序数据的元组/列表列表(按月和年):

#example info
list = [(8,2010,2,5,3),(1,2011,6,7,8)...]
Run Code Online (Sandbox Code Playgroud)

我已经尝试了几次,但我无法找到解决方案.

谢谢你的帮助.

Ale*_*lli 5

不要使用你的标识符内置名称 - 这是一种可怕的做法,没有任何优势,它最终会让你陷入一些特殊的错误行为.所以我调用结果thelist(任意的,anodyne,只是很好的标识符),而不是 list(内置的阴影).

import operator

thelist = sorted((my + tuple(v) for my, v in dictionary.iteritems()),
                 key = operator.itemgetter(1, 0))
Run Code Online (Sandbox Code Playgroud)