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

丹妮卡·费尔南德斯(Danica Fernandes)

我想根据预排序列表在Python中对列表进行排序

presorted_list = ['2C','3C','4C','2D','3D','4D']
unsorted_list = ['3D','2C','4D','2D']

尽管并非所有元素都存在于未排序列表中,但是否有一种方法可以对列表进行排序以反映预排序列表?

我希望结果看起来像这样:

after_sort = ['2C','2D','3D','4D']

谢谢!

算了吧
In [5]: sorted(unsorted_list, key=presorted_list.index)
Out[5]: ['2C', '2D', '3D', '4D']

或者,为了获得更好的性能(尤其是在len(presorted_list)较大的情况下),

In [6]: order = {item:i for i, item in enumerate(presorted_list)}    
In [7]: sorted(unsorted_list, key=order.__getitem__)
Out[7]: ['2C', '2D', '3D', '4D']

有关如何使用keys进行排序的更多信息,请参见出色的Howto Sort Wiki


如果unsorted_list包含的项目(例如'6D')不在中,presorted_list则上述方法将引发错误。您首先必须决定如何对这些项目进行排序。如果要将它们放在列表的末尾,可以使用

In [10]: unsorted_list = ['3D','2C','6D','4D','2D']

In [11]: sorted(unsorted_list, key=lambda x: order.get(x, float('inf')))
Out[11]: ['2C', '2D', '3D', '4D', '6D']

或者,如果您希望将此类项目放在列表的最前面,请使用

In [12]: sorted(unsorted_list, key=lambda x: order.get(x, -1))
Out[12]: ['6D', '2C', '2D', '3D', '4D']

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据另一个列表值对列表的索引值进行排序

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Scala根据另一个列表中的值对一个列表进行排序

来自分类Dev

如何根据另一个列表对列表进行排序?Python

来自分类Dev

根据R中另一个列表的顺序对列表进行排序

来自分类Dev

使用另一个列表对Python列表中的字符串进行排序

来自分类Dev

Python:如何根据另一个列表对列表进行排序

来自分类Dev

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

来自分类Dev

根据另一个排序的嵌套列表python对嵌套列表进行排序

来自分类Dev

Python 3.x-根据另一个列表对一个列表进行排序,然后返回两个排序后的列表

来自分类Dev

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

来自分类Dev

Python排序列表按另一个列表排序,但是排序列表是日期类型

来自分类Dev

根据python中另一个子列表中的相应权重对子列表进行排序

来自分类Dev

根据另一个列表中的值对列表进行排序,并从排序中排除列表中的元素?

来自分类Dev

从另一个列表对json列表进行排序

来自分类Dev

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

来自分类Dev

根据另一个列表值对列表的索引值进行排序

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何根据另一个列表对列表进行排序?Python

来自分类Dev

用于根据另一个部分列表的顺序对列表进行排序的算法

来自分类Dev

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

来自分类Dev

根据另一个列表对不同的列表进行排序?

来自分类Dev

排序列表列表与python中的另一个列表列表

来自分类Dev

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

来自分类Dev

如何在 C# 中以另一个排序列表为基础对 IList 进行排序?

来自分类Dev

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

Related 相关文章

  1. 1

    根据另一个列表值对列表的索引值进行排序

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

    Scala根据另一个列表中的值对一个列表进行排序

  6. 6

    如何根据另一个列表对列表进行排序?Python

  7. 7

    根据R中另一个列表的顺序对列表进行排序

  8. 8

    使用另一个列表对Python列表中的字符串进行排序

  9. 9

    Python:如何根据另一个列表对列表进行排序

  10. 10

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

  11. 11

    根据另一个排序的嵌套列表python对嵌套列表进行排序

  12. 12

    Python 3.x-根据另一个列表对一个列表进行排序,然后返回两个排序后的列表

  13. 13

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

  14. 14

    Python排序列表按另一个列表排序,但是排序列表是日期类型

  15. 15

    根据python中另一个子列表中的相应权重对子列表进行排序

  16. 16

    根据另一个列表中的值对列表进行排序,并从排序中排除列表中的元素?

  17. 17

    从另一个列表对json列表进行排序

  18. 18

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

  19. 19

    根据另一个列表值对列表的索引值进行排序

  20. 20

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

  21. 21

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

  22. 22

    如何根据另一个列表对列表进行排序?Python

  23. 23

    用于根据另一个部分列表的顺序对列表进行排序的算法

  24. 24

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

  25. 25

    根据另一个列表对不同的列表进行排序?

  26. 26

    排序列表列表与python中的另一个列表列表

  27. 27

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

  28. 28

    如何在 C# 中以另一个排序列表为基础对 IList 进行排序?

  29. 29

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

热门标签

归档