python3 對list排序 sort
對字元按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)
其他的大同小異,有了這些應該可以類推出來