python - 有没有一种简单的方法来重新排序不同大小的列表以进行交互?
问题描述
基本上我想根据更长的列表的顺序记录一个包含 2-4 个数字的列表。两者都不是按价值排序的。例如:
我想按 [5, 4, 2, 3, 1, 6, 8, 9, 7] 的顺序对列表 [4,8,5] 进行排序。我试图让它通过一个循环进行迭代,这样我就可以从较短的列表中提取值,按照多个数据集上较长的顺序。
我已经尝试压缩列表,它只是给了我较长列表的第一个值,例如对于这个 [5,4,2],两个列表的源都是数据帧,较长的是数据帧索引的排序列表。我将进行修改,以免有重复的更改。
解决方案
干得好:
>>> 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]
推荐阅读
- html - 通过扩展接受不起作用
- powershell - 如果在 powershell 中花费太多时间,则退出命令
- php - RFC 5545 EXRULE 替代方案
- jdbctemplate - Micronaut 多个 JDBC 模板不起作用
- python - 从 Google Drive 使用 gdown 下载时出现 SSL 错误
- python - 从列表到数据框获取未知列
- android - Android 材质日期范围选择器问题
- python - 连接到数据库/postgresql/python 时出错
- node.js - 在nodejs中如何设置像laravel这样的Mutators?
- c# - 如何使用 C# 在 Excel 中选择分层静态字段