根据另一个字典排序列表

流浪者

我有以下两个字典列表:

list_1 = [{'document_id': '5'}, {'document_id': '2'}, {'document_id': '4'}]

list_2 = [{'document_id': '4', 'page_id': '1'}, {'document_id': '5', 'page_id': '2'}, {'document_id': '5', 'page_id': '1'}]

list_1如果有帮助list_2document_id是的超集

我想要

  1. 排序list_2依据list_1
  2. 然后排序list_2基于所述page_id为每个不同的document_id

因此,我最终要拥有:

new_list_2 = [{'document_id': '5', 'page_id': '1'}, {'document_id': '5', 'page_id': '2'}, {'document_id': '4', 'page_id': '1'}]

我如何有效地做到这一点?

亚力山大

list_1通过字典理解来创建顺序的映射

docs = {doc.get('document_id'): n for n, doc in enumerate(list_1)}
# >>> docs
# {'5': 0, '2': 1, '4': 2}

然后使用带有page_id的排序作为排序键。

list_2.sort(key=lambda r: (docs[r['document_id']], r['page_id']))

>>> list_2
[{'document_id': '5', 'page_id': '1'},
 {'document_id': '5', 'page_id': '2'},
 {'document_id': '4', 'page_id': '1'}]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用另一个字典列表中的键对字典列表进行排序

来自分类Dev

如何根据python中另一个字典键的匹配来修改字典中的键值列表?

来自分类Dev

根据另一个字符串列表对字符串列表进行排序

来自分类Dev

Python将字典列表转换为另一个字典列表

来自分类Dev

Python将字典列表转换为另一个字典列表

来自分类Dev

根据另一个字典的特定值创建新的Python字典

来自分类Dev

将包含列表的字典追加到python中的另一个字典

来自分类Dev

将字典和列表相交以返回另一个字典

来自分类Dev

从另一个字典创建一个字典

来自分类Dev

如何根据一个字典在 Python 中查询另一个字典的值来修改或创建字典

来自分类Dev

如何根据给定的一个字段序列对列表进行排序?

来自分类Dev

如何根据另一个活动的可排序列表对列表进行重新排序?

来自分类Dev

根据另一个排序列表在python中对列表进行排序

来自分类Dev

如何根据另一个活动的可排序列表对列表进行重新排序?

来自分类Dev

如何根据另一个列表的排序重新排序列表?

来自分类Dev

根据其值的类型处理字典,并使用字典理解生成另一个字典

来自分类Dev

如何根据匹配的顶级键将元素从一个字典插入到另一个字典

来自分类Dev

根据一个字段对唯一的行进行排序,并根据另一个字段决定要输出的行

来自分类Dev

根据同一个字典中的另一个值python设置的值

来自分类Dev

Django Admin根据另一个字段过滤ForeignKey下拉列表

来自分类Dev

另一个字典,另一个格式输出

来自分类Dev

将字典中的值列表除以另一个字典中的值列表

来自分类Dev

将字典的值列表替换为另一个字典中的对应键值映射

来自分类Dev

当值与列表中的文件匹配时,用另一个字典替换字典中的项目

来自分类Dev

根据另一个字符串的顺序对一个字符串进行排序

来自分类Dev

根据另一个字符串排序一个字符串

来自分类Dev

通过使用另一个字典键和值构造一个字典

来自分类Dev

循环将一个字典附加到另一个字典

来自分类Dev

根据另一个列表对列表进行排序

Related 相关文章

  1. 1

    使用另一个字典列表中的键对字典列表进行排序

  2. 2

    如何根据python中另一个字典键的匹配来修改字典中的键值列表?

  3. 3

    根据另一个字符串列表对字符串列表进行排序

  4. 4

    Python将字典列表转换为另一个字典列表

  5. 5

    Python将字典列表转换为另一个字典列表

  6. 6

    根据另一个字典的特定值创建新的Python字典

  7. 7

    将包含列表的字典追加到python中的另一个字典

  8. 8

    将字典和列表相交以返回另一个字典

  9. 9

    从另一个字典创建一个字典

  10. 10

    如何根据一个字典在 Python 中查询另一个字典的值来修改或创建字典

  11. 11

    如何根据给定的一个字段序列对列表进行排序?

  12. 12

    如何根据另一个活动的可排序列表对列表进行重新排序?

  13. 13

    根据另一个排序列表在python中对列表进行排序

  14. 14

    如何根据另一个活动的可排序列表对列表进行重新排序?

  15. 15

    如何根据另一个列表的排序重新排序列表?

  16. 16

    根据其值的类型处理字典,并使用字典理解生成另一个字典

  17. 17

    如何根据匹配的顶级键将元素从一个字典插入到另一个字典

  18. 18

    根据一个字段对唯一的行进行排序,并根据另一个字段决定要输出的行

  19. 19

    根据同一个字典中的另一个值python设置的值

  20. 20

    Django Admin根据另一个字段过滤ForeignKey下拉列表

  21. 21

    另一个字典,另一个格式输出

  22. 22

    将字典中的值列表除以另一个字典中的值列表

  23. 23

    将字典的值列表替换为另一个字典中的对应键值映射

  24. 24

    当值与列表中的文件匹配时,用另一个字典替换字典中的项目

  25. 25

    根据另一个字符串的顺序对一个字符串进行排序

  26. 26

    根据另一个字符串排序一个字符串

  27. 27

    通过使用另一个字典键和值构造一个字典

  28. 28

    循环将一个字典附加到另一个字典

  29. 29

    根据另一个列表对列表进行排序

热门标签

归档