python - 排序嵌套的python字典

标签 python sorting dictionary

我有一个具有以下格式的 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/

相关文章:

python - plotly 中的相机位置如何工作

linux - 排序上次登录时间

python - 我怎样才能将json文件制作成字典?

python - 添加字典而不是覆盖 - defaultdict

python - 具有继承性的 pytest 参数化 fixture - 子类没有属性

python - 为什么我不能从Windows上的pip下载我的软件包的最新版本?

java - 使用 Java 流排序时将数字解析为字符串的简单方法?

c - 字符串数组随机排序

python - 从列表对象为字典创建键

python - 如何使用唯一ID过滤pandas数据框并在其他列上执行计算?