对所有可迭代的对象进行排序操作
sort 与sorted区别:
sort 是应用在list上的方法 sorted可以对所以可迭代的对象进行排序操作
list的sort方法返回的是对已经存在的列表进行操作,而内建函数sorted方法返回的是一个新的list ,而不是在原来的基础上进行的操作
语法
sorted 语法:
sorted(iterable, key = None, reverse = False)
参数说明:
- iterable -- 可迭代对象。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值
返回重新排序的列表。
print(sorted([5, 2, 3, 1, 4])) # 默认为升序 #sorted 的应用,也可以通过 key 的值来进行数组/字典的排序 array = [{"age":20,"name":"a"},{"age":25,"name":"b"},{"age":10,"name":"c"}] array = sorted(array,key=lambda x:x["age"]) print(array) #使用lambda和sorted将列表里字符串排序按照字符串中的数字从小到大排列 lis = ["PCR 0: Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions", "PCR 9: NTFS Boot Block", "PCR 2: Option ROM Code", "PCR 10: Boot Manager", "PCR 4: Master Boot Record (MBR) Code", "PCR 8: NTFS Boot Sector", "PCR 11: BitLocker Access Control"] print(sorted(lis, key=lambda x: int(x.split(':')[0][4:]))) #先按照成绩降序排序,相同成绩的按照名字升序排序 list1 = [{'name': 'Alex', 'score': 48}, {'name': 'Harry', 'score': 18}, {'name': 'JSON', 'score': 28}, {'name': 'christ', 'score': 38}] print(sorted(list1, key=lambda x: (-x['score'], x['name'])))
标签:name,python,PCR,score,key,sorted,排序 From: https://www.cnblogs.com/boye169/p/17055065.html