我是靠谱客的博主 笑点低小丸子,最近开发中收集的这篇文章主要介绍Python sorted() 函数 和 sort() 函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文对比sorted()函数和list.sort()函数的语法和用法。


sorted()函数对所有可迭代的对象进行排序,返回迭代对象中元素重新排序后组成的新list列表。

sorted()排序不改变原始结构,临时排序。

sorted函数语法:

sorted(iterable*key=Nonereverse=False)

sorted函数有两个命名关键字参数key和reverse。

key:作用于迭代对象中每个元素的函数,根据函数返回的结果的顺序,对原列表中的元素进行排序。

注意key返回的值仅仅是用于排序。sorted函数返回的结果,依然是原来列表中的元素的组合,只不过是按新的顺序了。

key 默认值为None,直接对各元素排序。

reverse:布尔值True或者False。reverse = True 降序 , reverse = False 升序(默认)。

【sorted()举例】

# sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:

sorted([36, 5, -12, 9, -21], key=abs)

# 返回的依然是原来列表中的元素,但排列的顺序是按照元素abs绝对值的顺序

结果:

[5, 9, -12, -21, 36]
sorted(['bob', 'about', 'Zoo', 'Credit'])

# 默认情况下,对字符串排序,是按照ASCII的大小比较的
# 由于'Z' < 'a',结果,大写字母Z会排在小写字母a的前面

结果:

['Credit', 'Zoo', 'about', 'bob']
# 如果我们要实现单纯的按照字母顺序排列呢

sorted(['bob', 'about', 'Zoo', 'Credit'],key=str.lower)

结果:

['about', 'bob', 'Credit', 'Zoo']
# 按字母顺序反序,不区分大小写

sorted(['bob', 'about', 'Zoo', 'Credit'],key=str.lower,reverse = True)

结果:

['Zoo', 'Credit', 'bob', 'about']

 

 sort()函数语法:

list.sort(*key=Nonereverse=False)

函数有两个命名关键字参数key和reverse。

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

reverse -- 布尔值排序规则,reverse = True 降序, reverse = False 升序(默认)。

【sort()举例】 

cars = ['bmw','audi','toyota','subaru']
cars.sort()
cars

 结果:['audi', 'bmw', 'subaru', 'toyota']

L1 = [3,10,39,20,38,10,20]
L1.sort(reverse=True) 
L1

结果: [39, 38, 20, 20, 10, 10, 3]

sort() 与 sorted() 区别:

sort 是应用在 list 上的方法,list.sort()。list 的 sort 方法返回的是对已经存在的列表进行操作,改变并对原list做替换,永久排序。

sorted 可以对所有可迭代的对象进行排序操作。sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

 

 

 

最后

以上就是笑点低小丸子为你收集整理的Python sorted() 函数 和 sort() 函数的全部内容,希望文章能够帮你解决Python sorted() 函数 和 sort() 函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部