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)