- sort(cmp=None, key=None, reverse=False)
- sorted(iterable, cmp=None, key=None, reverse=False
区别:
- sort是容器的函数,用List的成员函数sort进行排序
- sorted是Python的内建函数相同的参数,用built-in函数sorted进行排序
- sorted(iterable,key=None,reverse=False),返回新的列表,对所有可迭代的对象均有效
- sort(key=None,reverse=False) 就地改变列表 reverse:True反序;False 正序
注释:类似深浅拷贝的意思
1、基础排序:
- sorted:不改变原来列表
a=[1,3,2,7,-2]
b=sorted(a)
print(a) ==>[1, 3, 2, 7, -2]
print(b) ==>[-2, 1, 2, 3, 7]
- sort:改变原来列表
a=[1,3,2,7,-2]
b=a.sort()
print(a) ==>[-2, 1, 2, 3, 7]
print(b) ==>None
2、key参数:lambda函数使用
student=[
('lily','a',20),
('john','c',12),
('kitty','b',22)
]
result=sorted(student,key=lambda age:age[2]) #切片
print(result) ==>[('john', 'c', 12), ('lily', 'a', 20), ('kitty', 'b', 22)]
注释:或者用Operator模块函数也可以
3、key参数:lambda函数使用,按照value排序
b = {'a':1,'b':3,'c':2}
ee = sorted(b, key=lambda x:b[x])
print(ee) ==> ['a', 'c', 'b']
网友评论