李涛自留地
回到顶部
首页 > python学习 > Python列表排序中的sort()和sorted()有什么不同

Python列表排序中的sort()和sorted()有什么不同

在Python中对列表进行排序主要用的方法是sort()方法和sorted()两种方法对列表进行排序处理,那么sort()方法和sorted()方法有什么不同呢?sort()方法是列表的对象的方法,而sorted()函数是Python的内置函数,而在具体的语法格式和使用方法又有所不同。

sort()方法语法格式:

list.sort( key=None, reverse=False)

key值主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse的值主要有False和True两种,如果reverse=False就是升序排序,默认是reverse=False,就是默认就是升序排序,如果reverse=True就是降序排序。

sorted()函数语法格式:

sorted(iterable, cmp=None, key=None, reverse=False)

iterable是迭代对象;cmp是比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0;reverse值和sort()方法一样,也是有False和True两种来确定升序还是降序排序,默认也是reverse=False升序排序。

sort()和sorted()不同之处:

1、sort()方法是应用在列表上的方法,sorted()函数可以对所有可迭代的对象进行排序操作。

2、使用sort()方法会改变原有列表的顺序,而sorted()函数则不会改变原有列表的排序顺序。

Python列表排序中的sort()和sorted()有什么不同实例:

# -*- encoding:utf-8 -*-
"""
@作者:李涛
@文件名:列表排序.py
@时间:2021/11/10  23:03
@文档说明:
"""
num = [2,5,1,88,11,22,33,20,1111]
num1 = [3,2,1,5,7,9,11,21,23,3333]
print('这是未经过排序的原列表:',num)
num.sort()
print('这个是经过sort()方法排序的后的列表:',num)
new_num = sorted(num1)
print('这个是未经过sorted()方法排序的后的列表:',num1)
print('这个是经过sorted()方法排序的后的列表:',new_num)

执行实例后的截图:

Python列表排序中的sort()和sorted()有什么不同

在Python中操作列表的排序还有很多小技巧,后续将记载更多关于Python操作列表排序的学习笔记和技巧。

若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。