python3 对list排序 sort

转载注明出处bestsort

对字符按ASCII码从小到大排序:

l = ['a','Z','w','C','Q','b','t']
l.sort()
print(l)

从大到小:

l = ['a','Z','w','C','A','b','t']
l.sort(reverse=True)
print(l)

按字母顺序从小到大排序:

l = ['a','Z','w','C','A','b','t']
l.sort(key=str.lower)
print(l)

按字母顺序从大到小排序:

l = ['a','Z','w','C','A','b','t']
l.sort(key=str.lower,reverse=True)
print(l)

后文反序的同理在sort里面加上reverse = True就ok

对list中特殊的terple(dictionary)元素为排序:

        按value排序

                

l = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
l.sort(key=lambda k:k[1])
print(l)

        按照key排序

l = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
l.sort(key=lambda k:k[0])
print(l)

         先按key后按value排序

l = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
l.sort(key=lambda k:(k[0],k[1]))
print(l)

 

        对key按字母顺序排序后对value按从大到小排序

 

l = [('Bob', 75), ('Adam', 92), ('bart', 96), ('Lisa', 88)]
l.sort(key=lambda k:(k[0].lower(),k[1]))
print(l)

 

其他的大同小异,有了这些应该可以类推出来

 

你可能感兴趣的:(Python)