首页 > 解决方案 > 有没有一种简单的方法来重新排序不同大小的列表以进行交互?

问题描述

基本上我想根据更长的列表的顺序记录一个包含 2-4 个数字的列表。两者都不是按价值排序的。例如:

我想按 [5, 4, 2, 3, 1, 6, 8, 9, 7] 的顺序对列表 [4,8,5] 进行排序。我试图让它通过一个循环进行迭代,这样我就可以从较短的列表中提取值,按照多个数据集上较长的顺序。


我已经尝试压缩列表,它只是给了我较长列表的第一个值,例如对于这个 [5,4,2],两个列表的源都是数据帧,较长的是数据帧索引的排序列表。我将进行修改,以免有重复的更改。

标签: pythonlistdataframe

解决方案


干得好:

>>> items = [4,8,5]
>>> order = [5, 4, 2, 3, 1, 6, 8, 9, 7]
>>> items.sort(key = lambda item : order.index(item))
>>> items
[5, 4, 8]

推荐阅读