Python如何列表排序
时间: 2024-09-08 18:01:55 浏览: 23
在Python中,列表排序可以通过内置函数`sorted()`或者列表对象的`sort()`方法来实现。这里分别简单介绍一下:
1. `sorted()`函数:这个函数可以对任何可迭代的对象进行排序,并返回一个新的已排序的列表,原列表不会改变。例如:
```python
numbers = [5, 1, 9, 3]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出: [1, 3, 5, 9]
```
2. `list.sort()`方法:如果你想要直接在原列表上进行排序,可以使用列表对象的`sort()`方法。例如:
```python
numbers = [5, 1, 9, 3]
numbers.sort()
print(numbers) # 输出: [1, 3, 5, 9]
```
这两种方法都可以指定排序的关键字参数`key`,以及选择升序或降序排列通过`reverse`参数。例如,如果你想按字符串长度进行排序,可以这样做:
```python
fruits = ['apple', 'banana', 'cherry']
sorted_fruits = sorted(fruits, key=len)
print(sorted_fruits) # 输出: ['apple', 'cherry', 'banana']
# 或者直接在原列表上操作
fruits.sort(key=len)
```
相关问题
python 列表排序
Python 列表排序可以使用 `sort()` 方法或 `sorted()` 函数。其中,`sort()` 方法会直接修改原列表,而 `sorted()` 函数会返回一个新的已排序的列表。
示例代码如下:
```python
# 创建一个列表
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
# 使用 sort() 方法排序(原地排序)
my_list.sort()
print(my_list) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
# 使用 sorted() 函数排序(返回新列表)
new_list = sorted(my_list)
print(new_list) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
如果要按照指定的规则排序,可以使用 `key` 参数。例如,按照字符串长度排序:
```python
my_list = ['apple', 'banana', 'orange', 'pear']
# 按照字符串长度排序
my_list.sort(key=len)
print(my_list) # 输出:['pear', 'apple', 'banana', 'orange']
```
如果要按照降序排序,则可以传入 `reverse=True` 参数:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
# 按照降序排序
my_list.sort(reverse=True)
print(my_list) # 输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
```
python列表排序
Python中可以使用 `sort()` 方法和 `sorted()` 函数对列表进行排序。
`sort()` 方法可以直接对原列表进行排序:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sort()
print(my_list)
```
输出结果为:
```
[1, 1, 2, 3, 4, 5, 5, 6, 9]
```
`sorted()` 函数可以对列表进行排序,并返回一个排序后的新列表:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
new_list = sorted(my_list)
print(new_list)
```
输出结果为:
```
[1, 1, 2, 3, 4, 5, 5, 6, 9]
```
默认情况下,这些排序方法都是升序排列,如果要进行降序排列,可以使用 `reverse=True` 参数:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sort(reverse=True)
print(my_list)
new_list = sorted(my_list, reverse=True)
print(new_list)
```
输出结果分别为:
```
[9, 6, 5, 5, 4, 3, 2, 1, 1]
[9, 6, 5, 5, 4, 3, 2, 1, 1]
```