千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > python sort和sorted的区别

python sort和sorted的区别

来源:千锋教育
发布人:xqq
时间: 2024-01-23 13:51:48 1705989108

Python中的sort和sorted都是用来排序的函数,它们的主要区别在于它们的使用方式和作用对象不同。

_x000D_

sort是列表的一个方法,它会直接修改列表本身,将其按照一定的规则进行排序。而sorted是一个内置函数,它不会修改原有序列,而是返回一个新的已排序的序列。

_x000D_

下面我们来详细了解一下它们的区别。

_x000D_

## sort的使用方式和作用对象

_x000D_

sort是列表的一个方法,它可以对列表进行排序,其使用方式如下:

_x000D_

`python

_x000D_

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

_x000D_

lst.sort()

_x000D_

print(lst)

_x000D_ _x000D_

输出结果为:

_x000D_ _x000D_

[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

_x000D_ _x000D_

sort方法会直接修改原有的列表,将其按照从小到大的顺序进行排序。如果想要按照从大到小的顺序进行排序,可以使用reverse参数:

_x000D_

`python

_x000D_

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

_x000D_

lst.sort(reverse=True)

_x000D_

print(lst)

_x000D_ _x000D_

输出结果为:

_x000D_ _x000D_

[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

_x000D_ _x000D_

sort方法还可以接受一个key参数,用来指定排序规则。例如,可以按照绝对值大小进行排序:

_x000D_

`python

_x000D_

lst = [3, -1, 4, -1, 5, 9, 2, -6, 5, 3, 5]

_x000D_

lst.sort(key=abs)

_x000D_

print(lst)

_x000D_ _x000D_

输出结果为:

_x000D_ _x000D_

[-1, -1, 2, 3, 3, 4, 5, 5, 5, 9, -6]

_x000D_ _x000D_

## sorted的使用方式和作用对象

_x000D_

sorted是一个内置函数,它可以对任何序列进行排序,其使用方式如下:

_x000D_

`python

_x000D_

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

_x000D_

new_lst = sorted(lst)

_x000D_

print(new_lst)

_x000D_ _x000D_

输出结果为:

_x000D_ _x000D_

[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

_x000D_ _x000D_

sorted函数不会修改原有的序列,而是返回一个新的已排序的序列。如果想要按照从大到小的顺序进行排序,可以使用reverse参数:

_x000D_

`python

_x000D_

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

_x000D_

new_lst = sorted(lst, reverse=True)

_x000D_

print(new_lst)

_x000D_ _x000D_

输出结果为:

_x000D_ _x000D_

[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

_x000D_ _x000D_

sorted函数也可以接受一个key参数,用来指定排序规则。例如,可以按照绝对值大小进行排序:

_x000D_

`python

_x000D_

lst = [3, -1, 4, -1, 5, 9, 2, -6, 5, 3, 5]

_x000D_

new_lst = sorted(lst, key=abs)

_x000D_

print(new_lst)

_x000D_ _x000D_

输出结果为:

_x000D_ _x000D_

[-1, -1, 2, 3, 3, 4, 5, 5, 5, 9, -6]

_x000D_ _x000D_

## sort和sorted的区别

_x000D_

从上面的介绍可以看出,sort和sorted的主要区别在于:

_x000D_

- sort是列表的一个方法,直接修改原有的列表,而sorted是一个内置函数,不会修改原有的序列,而是返回一个新的已排序的序列。

_x000D_

- sort只能用于列表的排序,而sorted可以用于任何序列的排序。

_x000D_

- sort没有返回值,而sorted返回已排序的序列。

_x000D_

## 关于python sort和sorted的区别的相关问答

_x000D_

### 1. sort和sorted有什么区别?

_x000D_

sort是列表的一个方法,直接修改原有的列表,而sorted是一个内置函数,不会修改原有的序列,而是返回一个新的已排序的序列。

_x000D_

### 2. sort和sorted的使用方式有什么不同?

_x000D_

sort是列表的一个方法,可以直接对列表进行排序,而sorted是一个内置函数,可以对任何序列进行排序。

_x000D_

### 3. sort和sorted的排序规则可以自定义吗?

_x000D_

是的,sort和sorted都可以接受一个key参数,用来指定排序规则。

_x000D_

### 4. sort和sorted的返回值有什么不同?

_x000D_

sort没有返回值,而sorted返回已排序的序列。

_x000D_

### 5. sort和sorted的使用场景有什么不同?

_x000D_

sort主要用于对列表进行排序,而sorted则可以用于任何序列的排序。如果是对列表进行排序,建议使用sort;如果是对其他序列进行排序,建议使用sorted。

_x000D_
tags: python教程
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT