排序函数(sort()、sorted()、argsort()函数
2018-08-23 本文已影响0人
pure璞嵘
sorted(字典.items(), key=lambda x:x[0])
# 按照字典的k进行排序,返回由(k,v)构成的列表
# sorted(字典.items()) 默认就是按照字典的k进行排序
# key=lambda x:x[0] 表示按照x[0]进行排序
# x是sorted第一个参数返回的可迭代对象的每一个(k,v)
# x[0]就是元祖中的第一个值,也就是字典的k
1、基础的序列升序排序直接调用sorted()方法即可
需要注意:sort()方法仅定义在list中,而sorted()方法对所有的可迭代序列都有效
2、使用cmp函数排序,cmp是带两个参数的比较函数
list1 = [('david', 90), ('mary',90), ('sara',80),('lily',95)]
print(sorted(list1,cmp =lambdax,y: cmp(x[0],y[0])))#按照第一个位置的字母序排序
print(sorted(list1,cmp =lambdax,y: cmp(x[1],y[1])))#按照第二个位置的数字序排序
3、添加key参数,key 是带一个参数的函数
list.sort()和sorted()函数使用key参数来指定一个函数,此函数将在每个元素比较前被调用。
例如通过key指定的函数来忽略字符串的大小写
print(sorted("This is a test string from Andrew".split(), key=str.lower))
4、用reverse排序
print(sorted(list1,reverse = True))#逆转
5、argsort()函数,是numpy库中的函数
argsort函数
argsort函数返回的是数组值从小到大的索引值