Python的sort()方法用于列表原地排序,不返回新列表;sorted()函数则返回新列表。1. sort()默认升序排列数字或字符串列表。2. 设置reverse=True实现降序排序。3. 使用key参数自定义规则,如按长度len或忽略大小写str.lower排序。4. 注意sort()仅适用于列表且修改原数据,若需保留原列表应使用sorted()。掌握这些即可应对多数排序场景。

Python 中的 sort() 函数用于对列表进行排序,它会直接修改原列表,不返回新列表。还有一个内置函数 sorted() 可以返回排序后的新列表,而原列表保持不变。下面介绍如何使用 sort() 方法。
1. 基本用法:升序排序
对一个数字或字符串列表进行默认升序排序:
- numbers = [3, 1, 4, 1, 5]
- numbers.sort()
- print(numbers) # 输出: [1, 1, 3, 4, 5]
2. 降序排序:reverse 参数
通过设置参数 reverse=True 实现降序排列:
立即学习“Python免费学习笔记(深入)”;
- numbers = [3, 1, 4, 1, 5]
- numbers.sort(reverse=True)
- print(numbers) # 输出: [5, 4, 3, 1, 1]
3. 自定义排序规则:key 参数
使用 key 参数指定一个函数,按特定规则排序。常见如按字符串长度、忽略大小写等:
- words = ['apple', 'fig', 'Banana']
- words.sort(key=len) # 按字符串长度排序
- print(words) # 输出: ['fig', 'apple', 'Banana']
- words = ['apple', 'Banana', 'cherry']
- words.sort(key=str.lower) # 忽略大小写排序
- print(words) # 输出: ['apple', 'Banana', 'cherry']
4. 注意事项
sort() 只适用于列表类型,且会改变原列表。如果不想修改原列表,应使用 sorted() 函数:
- original = [3, 1, 4]
- new_list = sorted(original)
- print(original) # [3, 1, 4] — 原列表未变
- print(new_list) # [1, 3, 4]
基本上就这些。掌握 sort() 的基本用法、reverse 和 key 参数,就能应对大多数排序需求。不复杂但容易忽略细节,比如它只作用于列表,以及会修改原数据。











