Python中的
sort
是列表方法,直接在原列表上进行排序,无返回值;而sorted
是内置函数,可对所有可迭代对象排序,生成并返回一个新的排序后的列表。
在Python中,sort
和sorted
都是用来对序列进行排序的函数,但它们之间存在一些重要的区别。
1. sort
是列表对象的一个方法,它会直接修改原列表,而sorted
是一个内置函数,它会返回一个新的已排序的列表,不改变原来的序列。
list1 = [3, 2, 1] list1.sort() # list1现在是[1, 2, 3] list2 = [3, 2, 1] sorted_list = sorted(list2) # list2仍然是[3, 2, 1],sorted_list是[1, 2, 3]
2. sort
方法可以接受两个可选参数key
和reverse
,key
参数用于自定义排序规则,reverse
参数用于控制排序方向(默认为升序,如果reverse=True
则为降序)。
list = ['apple', 'banana', 'cherry'] list.sort(key=len) # 按字符串长度排序,结果是['apple', 'cherry', 'banana'] list.sort(reverse=True) # 降序排序,结果是['cherry', 'banana', 'apple']
同样,sorted
函数也可以接受这些参数:
list = ['apple', 'banana', 'cherry'] sorted_list = sorted(list, key=len) # 按字符串长度排序 sorted_list = sorted(list, reverse=True) # 降序排序
3. sort
方法还可以接受一个iterable
对象作为参数,这个对象的元素将用于确定排序顺序。
list = ['apple', 'banana', 'cherry'] order = ['banana', 'apple', 'cherry'] list.sort(key=order.index) # 根据order列表中的顺序排序,结果是['banana', 'apple', 'cherry']
总结来说,如果你需要对列表本身进行排序并修改它,你应该使用sort
方法,如果你不想修改原列表,而是想得到一个新的已排序的列表,你应该使用sorted
函数。
分享名称:python中sort与sorted的区别
标题URL:http://www.shufengxianlan.com/qtweb/news44/357044.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联