关于python的sort和sorted

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']
原文地址:https://www.cnblogs.com/wangleBlogs/p/9569531.html