Sorted排序
1.
默认Sorted排序,是自小到大的排序(按照ascill值)。
如: L1 = ["Aja","ctime","bBoy","Fjack"]
sorted(L1) 结果为: ["Aja","Fjack","ctime","bBoy"]
同样可以按照自大到小进行排序:
In [10]: sorted(L1,reverse=True) Out[10]: ['ctime', 'bBoy', 'Fjack', 'Aja']
2. 内置函数方法排序
排序可以按照一定的方法进行
如:L1 = [-16,6,-90,100,3,0] 按照绝对值自小到大排序
In [11]: L1 = [-16,6,-90,100,3,0] In [12]: sorted(L1,key=abs) Out[12]: [0, 3, 6, -16, -90, 100]
3. 对有多个可排序项目的列表进行排序
S1 = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
按照名字排序:
方法一:
In [16]: from operator import itemgetter In [17]: S1 = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] In [18]: sorted(S1,key=itemgetter(0)) Out[18]: [('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
方法二:
In [19]: sorted(S1,key=lambda x:x[0]) Out[19]: [('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
以此类推,可以按照成绩进行排序等等
4. 对字典进行排序
对字典排序,sorted会默认的将字典变为列表或者元组,在按照正常方法进行排序
如:
In [44]: dic1 = {1:"Jack",2:"Alxe",5:"Allen",3:"Bill"} In [45]: sorted(dic1) Out[45]: [1, 2, 3, 5] In [46]: sorted(dic1.items()) Out[46]: [(1, 'Jack'), (2, 'Alxe'), (3, 'Bill'), (5, 'Allen')] In [47]: sorted(dic1.values()) Out[47]: ['Allen', 'Alxe', 'Bill', 'Jack'] In [48]: dic2 = sorted(dic1.items(),key=lambda x:x[1],reverse=True)