Python(八)用sorted排序
来源:互联网 发布:斑马打印软件 编辑:程序博客网 时间:2024/05/24 07:17
说起排序,前面应该有大概说道list.sort () , 这是一个成员函数,
而sorted是一个迭代器,
前者是在原有序列基础上排序, 而后者是生成一个新的序列;
并且sorted可以接受一个key来重新定义函数的排序规则(就是cmp)
比如官方给出的例子,对一句话进行去空格排序,
sorted("This is a test string from Andrew".split(), key=str.lower) #输入['a', 'Andrew', 'from', 'is', 'string', 'test', 'This'] #结果
再者 ,如果对一个tuple排序该如何呢 ; 先来解释一下tuple;
students_tuple = [ ('jack' , 15 ) , ('nick' , 20 ) ]
就如同C语言中的结构体一样, 所以他们的cmp书写也显得大同小异了;
struct node //*C语言表达方式{ int age ; char name ; }a[500]
对他构造cmp的时候,
bool cmp (node a , node b){ retyurn a.age < b.age ; }
而在python3中,
def by_name(t): return t[0].lower()L=[('Dob',75),('Adam',92),('Bart',66),('Cisa',88)]L1 = sorted(L,key=by_name)print(L1)
t[0] 就指的是 对名字排序 , 则t[1] 其实就是对年龄排序;
def by_scort(t): return t[1]L=[('Bob',75),('Adam',92),('Bart',66),('Lisa',88)]L1=sorted(L,key=by_scort,reverse = True)print(L1)这里的reverse指的是是否对sort后的序列逆序, 即从大到小 ;
PS:和cmp函数使用一样, sort(a,a+n,cmp) ,这里在调用key的时候也不会带上后面的传参;
0 0
- Python(八)用sorted排序
- Python学习(八)——map、reduce、filter、sorted
- python dict sorted 排序
- python dict sorted 排序
- python dict sorted 排序
- python 排序sorted()
- Python - sorted 排序
- python sorted() 排序
- Python sorted() 高级排序
- python - sorted()排序
- python排序:sorted()
- Python 排序函数sorted
- python排序之sorted
- Python 排序(sorted)
- python dict sorted 排序
- python的排序 sort sorted
- python sort sorted 排序详解
- python sorted排序用法详解
- 我来了
- 小白成长日记
- caffe调参技巧
- mysql导入数据load data infile用法
- 我来了
- Python(八)用sorted排序
- 我来了
- 释放xcode占用硬盘空间
- rosbag--ROS中数据的记录与重放
- offsetLeft和style.left的区别
- 我来了
- hdu 2448 Mining Station on the Sea【最短路Floyd+KM 最佳匹配】
- 编译spark源码使sparksql支持hive(cdh的)
- 这些作死的奇葩酒店,就看你有没有胆量住一晚!