【发布时间】:2018-07-19 11:27:34
【问题描述】:
我有一个 XML 文件(约 500 行),它在 Python 中被转换为嵌套的有序字典。我需要根据值对其进行排序,但是因为它嵌套太多并且里面有列表,所以我迷路了。我已经搜索了答案,试图找到一种对与列表混合的字典进行排序的方法。但到目前为止还没有运气。
这是我得到的最接近的。 Python: Sort nested dictionary by value 但是因为我有一个有 2 个子键“foo”和“bar”的键,它们有列表,里面有字典,这不是我需要的。
我想根据“日期”对“foo”和“bar”进行排序。或按“日期”值返回子字典。
我有一个循环遍历子词典的列表,但它不会对其进行排序。我试图改变它来修复它,但没有任何改变。这也无济于事,lambda 对我来说似乎很神奇。
for i in range(len(your_dict['History']['foo'])):
mine = OrderedDict(sorted(your_dict.items(), key=lambda x: x[1]["foo"][i]['Date']))
手头词典的简短示例:
"History": {
"@version": "4.0",
"foo": [
{"code": "ID", "Date": "2018-07-09T15:31:09+03:00"},
{"Date": "2018-07-09T13:46:09+03:00"}
],
"bar": [
{"code": "ID", "Date": "2018-07-09T09:39:29+03:00"},
{"code": "ID", "Date": "2018-07-09T09:48:25+03:00"}
]
}
那么“foo”和“bar”如何排序呢?
【问题讨论】:
标签: python dictionary nested