list.sort方法会就地排序列表,不会把原列表复制一份,这也就是这个方法返回值是None的原因,提醒本方法不会新建列表
而内置函数sorted()会新建一个列表从作为返回值,这个方法可以接受任何形式的可迭代对象作为参数,甚至包括不可变序列或者生成器
不管是list.sort 还是sorted() 都有两个可选的关键字参数‘reverse’,默认等于False,为升序,如果设定为True,则为降序。
在对一些字符串排序时,可以使用 key = str.lower来实现忽略大小写的排序,或者使用key = len 进行基于字符串长度的排序
fruits = ['grape', 'raspberry', 'apple', 'banana']
print(fruits)
print(sorted(fruits))
print(sorted(fruits, reverse=True))
print(sorted(fruits, key=len))
print(sorted(fruits, key=len, reverse=True))
fruits.sort()
print(fruits)

本文深入探讨了Python中list.sort()和sorted()函数的使用方法,解释了两者在排序列表时的区别,包括它们如何处理列表、是否创建新列表以及如何通过关键字参数实现升序或降序排序。此外,还介绍了如何利用key参数对字符串列表进行忽略大小写或基于长度的排序。
4957

被折叠的 条评论
为什么被折叠?



