Skip to main content
 首页 » 编程设计

python之排序嵌套的python字典

2025年05月04日15bluestorm

我有一个具有以下格式的 python 字典。

{'KEY': (NUMBER, [DATE1, DATE2]} 

例如,{'a': (10, ['2010/04/11','2009/03/11'])}

如何按 DATE1(列表中的第一个元素)对字典进行排序?

编辑

我可以在日期相同的情况下重新排序吗?例如。

{'a': (10, ['2010/04/11','2009/03/11'])} 
{'b': (20, ['2010/04/11','2009/03/10'])} 
{'c': (100, ['2009/01/01'])} 

-->

{'b': (20, ['2010/04/11','2009/03/10'])} // this comes first as 20 > 10 
{'a': (10, ['2010/04/11','2009/03/11'])} 
{'c': (100, ['2009/01/01'])} 

请您参考如下方法:

字典是不可排序的。如果你想要一个二元组的排序列表:

sorted(D.iteritems(), key=lambda x: x[1][1][0]) 

如果您希望以日期顺序而不是字符串顺序将表达式传递给 datetime.strptime()(并不是说现有日期格式存在巨大差异...)。