sort与 sorted 的区别(python)
前言
我们需要对List进行排序,Python提供了两个方法对给定的List L进行排序 :
- 1.用对List的成员函数sort进行排序
- 2.用内置函数sorted进行排序
区别
sort() 方法与函数 sorted() 的不同在于:
- sort 是在原位重新排列列表(永久性的排序),对已经存在的列表进行操作,无返回值
- 而sorted() 是产生一个新的列表,而不是在原来的基础上进行的操作。
a = [1, 5, 3, 4, 2]
a1 = sorted(a) #a 不变,而是把排好序的 a 传给了 a1
a.sort() #直接在a上排序,此时a = [1,2,3,4,5]
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
逆序
只需要在sort() 方法或者 sorted() 函数中传递参数 reverse = True
a = [1, 5, 3, 4, 2]
a1 = sorted(a, reverse = True) #a 不变,而是把逆序的 a 传给了 a1
a.sort(reverse = True) #直接在a上排序,此时a = [5,4,3,2,1]
可迭代对象(Iteratable Object) 是能够一次返回其中一个成员的对象,通常使用我们之前介绍过的 for 循环 来完成此操作,如字符串、列表、元组、集合、字典等等之类的对象都属于可迭代对象。