请给我python 列表排序的用法
时间: 2023-12-01 14:04:03 浏览: 27
Python中列表排序有两种方式:
1. 使用sort()方法,该方法会直接修改原列表,例如:
```python
a = [3, 1, 4, 2, 5]
a.sort() # 升序排列
print(a) # 输出 [1, 2, 3, 4, 5]
a.sort(reverse=True) # 降序排列
print(a) # 输出 [5, 4, 3, 2, 1]
```
2. 使用sorted()函数,该函数不会修改原列表,而是返回一个新的排好序的列表,例如:
```python
a = [3, 1, 4, 2, 5]
b = sorted(a) # 升序排列
print(b) # 输出 [1, 2, 3, 4, 5]
c = sorted(a, reverse=True) # 降序排列
print(c) # 输出 [5, 4, 3, 2, 1]
```
以上是两种常用的排序方法,其中sort()方法的效率更高,但是sorted()函数更加灵活,可以对任何可迭代对象进行排序。
相关问题
python给列表排序
可以使用列表的 `sort()` 方法来排序。默认情况下,它将按升序排序列表中的元素。例如:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort()
print(my_list)
```
输出:
```
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
如果您想要按降序排序,请将 `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]
```
还可以使用 `sorted()` 函数对列表进行排序,并返回一个新的已排序列表,而不是修改原始列表。例如:
```python
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)
print(sorted_list)
```
输出:
```
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
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]
```