在 Python 中,列表排序主要有 两种常用方式:sort() 方法和 sorted() 函数。下面详细说明。
list.sort()(原地排序)对原列表直接排序,不返回新列表。
a = [3, 1, 2]
a.sort()
print(a) # [1, 2, 3]
reverse=True:降序a.sort(reverse=True)
key=:自定义排序规则words = ["apple", "banana", "cherry"]
words.sort(key=len) # 按长度排序
sorted()(返回新列表)不改变原列表,返回排序后的新列表。
a = [3, 1, 2]
b = sorted(a)
print(a) # [3, 1, 2]
print(b) # [1, 2, 3]
同样支持 reverse 和 key:
sorted(a, reverse=True)
sorted(a, key=lambda x: -x)
nums = [5, 2, 9, 1]
nums.sort()
names = ["Tom", "Alice", "Bob"]
names.sort()
students = [
{"name": "Tom", "age": 20},
{"name": "Alice", "age": 18}
]
students.sort(key=lambda s: s["age"])
data = [(1, 2), (1, 1), (2, 0)]
data.sort(key=lambda x: (x[0], x[1]))
| 方法 | 是否修改原列表 | 返回值 |
|---|---|---|
list.sort() |
✅ 是 | None |
sorted() |
❌ 否 | 新列表 |
如果你有具体的数据结构或排序需求(比如字典、对象、中文排序等),可以告诉我,我可以给你更针对性的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。