python - Python:如何将一个列表的排序(按最大值)应用于另一个列表的元素索引排序
问题描述
例如
lst1=['1.11','3.34','2.44','4.5']
lst2=['100.0','5000.9','999.0','666.0']
我想将 lst1 中的值从最大值排序到最小值,我可以执行以下操作:
lst1_sorted=sorted(lst1,key=float,reverse=True)
lst1_resorted = ['4', '3', '2', '1']
但后来我也想在 lst2 上使用排序,这样
lst2_resorted = ['666','5000','999','100']
这需要专门用于浮点数的列表条目。例如,我可以在上面使用 key=float。理想情况下无需导入另一个库。
解决方案
您可以像这样利用 pandas 库
import pandas as pd
# before
lst1=['1','3','2','4']
lst2=['100','5000','999','666']
# Use pandas
df = pd.DataFrame({'A':lst1,'B':lst2}).sort_values('A', ascending =False)
# After
lst1 = df['A'].tolist()
lst2 = df['B'].tolist()
推荐阅读
- reactjs - 如何在一定时间后清除 Redux Persist Store
- python - 带有动态模型的 Django 数据表
- hive - 更新 HIVE 中的分区元数据
- latex - 为什么我的缩写表指的是它自己的页面?
- angular - Angular:取消订阅http请求
- amazon-web-services - 处理 tdl 重定向的最佳位置在哪里?
- javascript - 如何将html表单的输入保存到json文件中?
- amazon-web-services - 在使用 Github Runner 的 Terratest 中使用 HttpGet 方法获取连接被拒绝
- nfc - Wireshark 插件编译
- excel - Excel 将字母列表拆分为单元格以生成所有组合