python sorted 重新排序列表

本文详细介绍了 Python 中的 sorted() 函数,该函数用于对列表进行排序,无论是数字还是字符串,甚至是自定义对象,都能通过指定 key 参数来实现灵活排序。通过多个实例演示了 sorted() 函数的基本用法及其高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python sorted 重新排序列表

https://www.runoob.com/python3/python3-func-sorted.html
排序操作

### Python 中实现多级排序Python 中,`sorted()` 函数可以用于执行多级排序。通过传递 `key` 参数给 `sorted()` 函数并指定一个返回多个键值的函数来决定排序顺序。 对于简单的数据结构如列表中的元组或多维数组,可以直接利用内置的 `itemgetter` 或者自定义 lambda 表达式作为 key 来完成多层排序逻辑[^1]: ```python from operator import itemgetter data = [ ('apple', 'red', 2), ('banana', 'yellow', 1), ('cherry', 'red', 3), ('date', 'brown', 1) ] # 使用 itemgetter 进行多级排序 result = sorted(data, key=itemgetter(0, 1)) print(result) # 输出按名称和颜色两个级别排序的结果 ``` 当处理更复杂的数据集或者需要更加灵活控制排序条件时,则可以通过编写完整的函数而不是仅限于 lambda 表达式的简单形式来进行定制化操作。例如,在 Pandas 库中经常使用的场景下,lambda 函数能够很好地辅助数据操纵工作,特别是配合 `map()` 方法对 DataFrame 的列进行转换或计算新特征值。 另外一种方法是在 Google Earth Engine (GEE) 和 TensorFlow 结合的应用场合里,可能涉及到地理空间数据分析以及机学习模型训练后的预测结果整理等问题。此时如果要基于多种属性字段做排序,同样适用上述提到的方式,并且可以根据具体需求调整排序规则以满足特定业务流程的要求[^2]。 ```python import pandas as pd df = pd.DataFrame({ 'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'score': [87.5, 92.0, 88.5] }) def multi_level_sort(row): return (-row['age'], row['score']) # 假设年龄降序排列而分数升序排列 df_sorted = df.sort_values(by=['age', 'score'], ascending=[False, True]) print(df_sorted) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值