我有一个具有以下格式的 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()
(并不是说现有日期格式存在巨大差异...)。
关于python - 排序嵌套的python字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5307473/