1 首先,Python中sort与sorted的区别:
python中列表的内置函数sort()可以对列表中的元素进行排序,sort()函数是内置函数,会改变当前对象;
而全局性的sorted()函数则对所有可迭代的序列都是适用的,sorted()函数只会返回一个排序后的当前对象的副本,而不会改变当前对象。
2 sort()排序
2.1对列表进行简单排序
1 升序排列
a = [2,9,5,6,7,8]
a.sort()
print(a)
>>>[2, 5, 6, 7, 8, 9]
2 降序排列
a = [2,9,5,6,7,8]
#切记True的首字母是大写
a.sort(reverse=True)
print(a)
>>>[9, 8, 7, 6, 5, 2]
3
3 sorted()排序
sorted(iterable, cmp=None, key=None, reverse=False)
iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定;
key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。
举例说明
3.1
L = [('b',2),('a',1),('c',3),('d',4)]
L.sort(cmp=lambda x,y:cmp(x[1],y[1]))
L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
3.2
L = [('b',2),('a',1),('c',3),('d',4)]
>>>L.sort(key=lambda x:x[1])
>>>L
>>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
未完待续。。。