list的自定义排序方法怎么用
时间: 2023-12-03 15:45:03 浏览: 18
在Python中,可以使用`sort()`方法对列表进行排序。`sort()`方法可以接受一个可选的参数`key`,用于指定自定义排序的依据。
例如,假设我们有一个包含多个字典的列表,每个字典都包含一个`name`和`age`字段,我们想按照年龄从小到大的顺序对列表进行排序,可以使用以下代码:
```python
people = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 30}]
def age_key(person):
return person['age']
people.sort(key=age_key)
print(people)
```
输出结果为:
```
[{'name': 'Bob', 'age': 20}, {'name': 'Alice', 'age': 25}, {'name': 'Charlie', 'age': 30}]
```
在上面的代码中,我们定义了一个`age_key`函数,该函数接受一个字典作为参数,并返回该字典中`age`字段的值。然后我们将该函数作为`key`参数传递给`sort()`方法,这样`sort()`方法就会按照年龄从小到大的顺序对列表进行排序。
如果我们想按照年龄从大到小的顺序排序,可以修改`age_key`函数,如下所示:
```python
def age_key(person):
return -person['age']
```
这里我们返回`-person['age']`,这样就可以实现按照年龄从大到小的顺序排序。