根据另一个排序列表在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

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档