python - 根据其他列表中的值对列表中的列表进行排序
问题描述
我想根据另一个列表中的值对列表中的列表进行排序。在示例中,第 5 个订单应放在 0 和 1 之前,因为到期日期较早。
我已经尝试过 for 循环和其他排序方法,但列表中的列表不是整数,这让 ik 对我来说太难了。因此我不知道解决以下问题:
orders = [[0, 1, 5], [2, 3 ,4]]
##due date for each order
duedates = [5000, 5000, 4500, 3000, 3000, 2750]
expected output: [[5,0,1], [4,3,2]]
解决方案
for order in orders:
orders_due = [duedates[i] for i in order]
sorted_order = sorted(zip(order, orders_due), key=lambda x:x[1])
print([i for (i,j) in sorted_order])
推荐阅读
- xslt - 在 XSLT 中标记除引号括起来的所有值
- c# - 每次单击“注册”按钮时如何用表单信息填充列表框(无 BD)
- docker - 如何在 python docker 中安装 p7zip-full
- python - 如果您在购买 twilio 号码时未捕获它,请稍后获取 twilio 电话号码 SID
- codeigniter - 如何在 CI 中执行 cronjob .. 调用特定控制器自动调用那些发送电子邮件
- keras - 了解 Dense 层的参数单位和 input_dim 之间的区别
- android - Android 中动态模块中的 MODULE_UNAVAILABLE 错误
- python - 带下拉菜单的多线交互式绘图
- c# - 如何使用c#计算两天内的日期时间?
- php - ubuntu 14.04 上不存在 PHP7.0 包