1 sort
sort是python中列表的方法
1.1 sort() 方法语法
list.sort(key=None, reverse=False)
有两个参数,第一个参数用于高级排序(稍后具体讲),第二个参数当 reverse=True时为降序排列,reverse=False为升序排列,默认reverse=False。
注意:该方法没有返回值,也就是返回值为 None,就是说sort是在源数据上进行修改。
a = [-1,2,-3,22,55,-33,6,0] # 创建一个列表
print(a) # 打印列表,输出为:[-1,2,-3,22,55,-33,6,0]
print(a.sort()) # 输出为:None
print(a) # 输出为:[-33, -3, -1, 0, 2, 6, 22, 55]
a = a.sort()
print(a) # 输出为:None
---------------分割线----------------
第一个参数key的用法,主要是对排序的元素做进一步操作。
例如根据列表中元素的绝对值(abs)大小对原数据进行排序,这个操作并不会修改源数据的值大小。
a.sort(key=lambda x:abs(x))
print(a)# 输出为:[0, -1, 2, -3, 6, 22, -33, 55]
2 sorted
sorted() 函数是python中的内置函数
2.1 sorted()函数语法
sorted(iterable=None, key=None, reverse=False)
共有三个参数,后两个参数和 list.sort() 方法中的参数意思没有差别,第一个参数是一个可迭代对象。
注意:sorted() 返回重新排列的列表,不改变源数据的位置。
a = [-1,2,-3,22,55,-33,6,0] # 创建一个列表
print(a) # 打印列表,输出为:[-1,2,-3,22,55,-33,6,0]
sorted(a)
print(a) # 打印列表,输出为:[-1,2,-3,22,55,-33,6,0],因为sorted() 函数不会改变原先的列表
print(sorted(a)) # 输出:[-33, -3, -1, 0, 2, 6, 22, 55],因为 sorted() 函数返回一个排序好的列表
a = sorted(a)
print(a) # 输出:[-33, -3, -1, 0, 2, 6, 22, 55]