首页 > 编程语言 >python 排序

python 排序

时间:2023-01-16 11:44:06浏览次数:35  
标签:name python PCR score key sorted 排序

对所有可迭代的对象进行排序操作

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

相关文章

  • python安装
    1、https://www.python.org/downloads/windows/2、  3、安装过程中一定要勾选addtopath 4、自定义安装,然后可以更改安装路径,其他的复选框都没动过 ......
  • 【笔记】python连接神通数据库
    python连接国产神州通用数据库。一、准备下载whl及dll:链接:https://pan.baidu.com/s/1lwE-FwIsf-aYjoqCPij2hA提取码:49qp二、安装 目录如上。1、aci.dll加入......
  • python super 参数问题
    ​​Python’ssuper()consideredsuper!​python3中super()参数意义和用法super().init()#等同于super(A,self).init()classA(Base):def__init__(self):......
  • python filter
    a=[1,2,3,4,5,6]b=filter(lambdax:x%2==1,a)print(list(b))[1,3,5]......
  • OrderedDict python有序字典
    importcollectionsd1=collections.OrderedDict()d1['b']='B'd1['a']='A'd1['c']='C'd1['2']='2'd1['1']='1'#OrderedDict([('b','B......
  • python和C++调用动态库
    python和C++调用动态库python和C++相互调用动态库的方法有4种:python调用C/C++编译的动态库python调用python编译的动态库C/C++调用python编译的动态库C/C++调用C/C++......
  • AtCoder Beginner Contest 285 D - Change Usernames(拓扑排序)
    这题想到可以用map容器将string与一个端点下标对应,再建一个有向图,将问题转换成判断一个有向图是否有环赛后补题网上搜如何判断图是否有环,学到了拓扑排序拓扑排序是什么......
  • python—web自动化(4)—测试框架之unittest2使用
    学习目标:自动化测试框架搭建需求分解:unittest2测试用例BaseTestCase:封装测试用例中相同的部分数据驱动测试(ddt):测试数据与操作分离生成测试报告:......
  • IOS中Object-C按照NSDictionary中的某个Key排序的方法
    //create_time降序NSComparisonResultsort_desc(NSDictionary*firstDict,NSDictionary*secondDict,void*context){NSDateFormatter*dateFormatter=[[NSD......
  • python爬虫电影数据抓取实战
    想要了解最近电影院播放的都有什么影视电影,哪部值得推荐,如果单纯靠手动收搜不全面,下面我们就先使用urllib.request模块抓取整个网页,再使用re模块获取电影信息,做个简单的爬虫......