python中sorted函数的用法两次排序
时间: 2024-10-23 09:06:50 浏览: 10
在Python中,`sorted()` 函数用于对列表或其他可迭代的对象进行排序。如果你想先进行一次排序然后再排序,你可以直接多次调用 `sorted()` 函数,每次传递不同的数据。以下是两个例子:
1. **原地排序与副本排序**:
如果你想保持原始数据不变并创建一个新的已排序列表,可以这样操作:
```python
original_list = [5, 3, 8, 1]
# 第一次排序,创建新列表
first_sorted = sorted(original_list)
print(first_sorted) # 输出:[1, 3, 5, 8]
# 第二次排序,处理新的排序结果
second_sorted = sorted(first_sorted)
print(second_sorted) # 输出:[1, 3, 5, 8] (如果列表元素无变化)
```
2. **两次不同的排序**:
如果你需要根据不同的排序规则排序,可以在 `sorted()` 中传入自定义的关键字参数,比如元组 `(key, reverse)` 来指定排序依据和是否降序排列:
```python
student_scores = [('Alice', 90), ('Bob', 85), ('Charlie', 95)]
# 按分数升序排序
score_sorted = sorted(student_scores, key=lambda x: x[1])
print(score_sorted)
# 然后再按姓名字母顺序排序
name_sorted = sorted(score_sorted, key=lambda x: x[0])
print(name_sorted)
```
这里第一次排序是根据分数,第二次是根据姓名。
阅读全文