1. 概述
排序也是在程序中经常用到的算法。
python中内置了sorted()方法和sort;
sort 与 sorted 区别:
- sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
- list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
2. sort()
2.1 描述
sort 是应用在 list 上的方法, 对其进行排序。
2.2 语法
list.sort( func =None, key=None, reverse=False(or True))
- reverse – 排序规则,reverse = True 降序 , reverse = False 升序;
- 执行完后会改变原来的list,如果你不需要原来的list,这种效率稍微高点;
- 为了避免混乱,其会返回none
2.3 演示
A = [4, -5, 1, 3, -10]
A.sort() # 默认按照升序排列
print(A) # 结果 [-10, -5, 1, 3, 4]
A = [4, -5, 1, 3, -10]
A.sort(reverse=True)
# 降序排列
print(A) # 结果 [4, 3, 1, -5, -10]
3. sorted()
3.1 描述
sorted() 函数对所有可迭代的对象进行排序操作。
3.2 语法
sorted 语法:
sorted (iterable ,cmp,key, reverse)
参数说明:
- iterable – 可迭代对象(如列表,元组,字符串等)。
- cmp – 比较的函数,这个函数应当具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
- key – key函数来实现自定义的排序,与cmp一样是接受一个函数,不同的是,这个函数只接受一个元素,例如按绝对值大小排序;
- reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值
返回重新排序的列表。
3.3 演示
A = [4, -5, 1, 3, -10]
B = sorted(A) # 默认按照升序排列
print(B) # 结果 [-10, -5, 1, 3, 4]
A = [4, -5, 1, 3, -10]
B = sorted(A, key=abs, reverse=True)
# 这里key为绝对值函数,降序排列
print(B) # 结果 [-10, -5, 4, 3, 1]
A = ["dt", "mq", "gr"]
B = sorted(A)
# 字符串按照ASCII 码排列
print(B) # 结果 ['dt', 'gr', 'mq']
希望能够帮助到大家,有什么问题可以 直接评论即可,喜欢有用的话可以点个赞让更多的人看到,如果不够详细的话也可以说,我会及时回复的。