python列表中自定义排序怎么做
时间: 2023-10-10 10:11:06 浏览: 84
Python 采用自定义规则对列表进行排序 Python源码
你可以使用`sort()`方法对列表进行排序,同时可以传递一个自定义的比较函数作为参数。比较函数可以根据自己的需求来定义,例如按照某个元素的值进行排序。
举个例子,假设有一个列表`lst`,其中每个元素都是一个字典,包含`name`和`age`两个键值对。如果我们想按照年龄从小到大排序,可以这样写:
```python
def compare_by_age(item):
return item['age']
lst = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 30}]
lst.sort(key=compare_by_age)
```
这里`compare_by_age`函数接受一个字典作为参数,返回其中`age`键对应的值。`sort()`方法的`key`参数指定排序规则,即按照`compare_by_age`函数返回的值进行排序。
注意,`sort()`方法会直接修改原列表,如果你不想改变原列表,可以使用`sorted()`函数,它会返回一个新的排序后的列表。
阅读全文