在Python中,`sort()` 方法用于对列表进行原地排序,即直接修改原列表,而不是创建一个新的排序列表。以下是 `sort()` 方法的基本用法:
```python
list.sort([key=None, reverse=False])
`key` 参数(可选):用于指定一个函数,这个函数会在排序时应用于列表的每个元素,以决定它们的排序顺序。如果不指定 `key`,则使用元素自身作为比较基准。`reverse` 参数(可选,默认为 `False`):如果设置为 `True`,则列表会按降序排序;如果为 `False`(默认值),则按升序排序。下面是一些使用 `sort()` 方法的例子:```python升序排序数字列表
numbers = [5, 2, 8, 3, 1]
numbers.sort()
print(numbers) 输出:[1, 2, 3, 5, 8]
降序排序字符串列表
names = ['Alice', 'Bob', 'Charlie', 'Dave', 'Eve']
names.sort(reverse=True)
print(names) 输出:['Eve', 'Dave', 'Charlie', 'Bob', 'Alice']
使用比较函数排序对象列表
class Student:
def __init__(self, name, grade, age):
self.name = name
self.grade = grade
self.age = age
def __repr__(self):
return f"{self.name}, {self.grade}, {self.age}"
students = [
Student('John', 'A', 15),
Student('Jane', 'B', 12),
Student('Dave', 'B', 10)
]
按照第三个属性(年龄)排序
students.sort(key=lambda student: student.age)
print(students) 输出:按照年龄排序后的学生列表
请注意,`sort()` 方法会直接修改原列表,不会返回任何值。如果你需要保留原列表的副本并创建一个新的排序列表,可以使用 `sorted()` 函数,其用法与 `sort()` 类似,但会返回一个新的排序列表:
```python
sorted_list = sorted(numbers) 返回一个新的排序列表
print(sorted_list) 输出:[1, 2, 3, 5, 8]

