1、sort无返回值,没有新建列表
例子:
1 a=[2,1,3] 2 print("a=",a) 3 b=a.sort() 4 print("a=",a) 5 print("b=",b)
输出
1 a= [2, 1, 3] 2 a= [1, 2, 3] 3 b= None
可以看到b啥也没有,a却已经排序了,估计sort的用法应该就是a.sort()就可以,不用再去赋值给b
2、sorted生成新列表,旧列表不变
sorted,这个应该用的多一些,一方面这个有返回值,另一方面可以选定需要的key进行排序,主要看例子
用的很多的应该是这个,字典排序生成(k,v)元组信息
首先看下字典的排序:
1 a={2:'b',1:'a',3:'c'} 2 print("a=",a) 3 b=sorted(a) 4 print("a=",a) 5 print("b=",b) 6 c=sorted(a.items()) 7 print("c=",c)
输出
1 a= {2: 'b', 1: 'a', 3: 'c'} 2 a= {2: 'b', 1: 'a', 3: 'c'} 3 b= [1, 2, 3] 4 c= [(1, 'a'), (2, 'b'), (3, 'c')]
根据指定的key排序,
1 a=['b&2','a&1','c&3'] 2 print("a=",a) 3 b=sorted(a,key=lambda line : line.split('&')[1]) 4 print("a=",a) 5 print("b=",b)
输出
1 a= ['b&2', 'a&1', 'c&3'] 2 a= ['b&2', 'a&1', 'c&3'] 3 b= ['a&1', 'b&2', 'c&3']