python list 排序 逻辑
时间: 2023-09-05 09:08:19 浏览: 102
Python中对列表进行排序的逻辑是使用列表的`sort()`方法或者内置函数`sorted()`。这两种方法都可以对列表进行排序,但它们有一些不同之处。
1. 使用列表的`sort()`方法:
- `sort()`方法会直接修改原始列表,使其按照升序进行排序。
- 语法:`list.sort(key=None, reverse=False)`
- 参数`key`可选,用于指定一个函数来从列表的每个元素中提取一个比较键(例如,按照某个属性进行排序)。
- 参数`reverse`可选,默认为`False`,表示升序排序;如果设置为`True`,则表示降序排序。
示例:
```python
my_list = [4, 2, 1, 3]
my_list.sort()
print(my_list) # 输出:[1, 2, 3, 4]
```
2. 使用内置函数`sorted()`:
- `sorted()`函数会返回一个新的已排序的列表,不会修改原始列表。
- 语法:`sorted(iterable, key=None, reverse=False)`
- 参数`iterable`是要排序的可迭代对象(例如,列表、元组等)。
- 参数`key`和`reverse`与`sort()`方法中的相同。
示例:
```python
my_list = [4, 2, 1, 3]
sorted_list = sorted(my_list)
print(sorted_list) # 输出:[1, 2, 3, 4]
print(my_list) # 输出:[4, 2, 1, 3]
```
注意:`sort()`方法和`sorted()`函数都是基于元素的大小进行排序,所以对于复杂对象的排序,可以使用`key`参数指定一个函数来提取比较键。
阅读全文