刷题笔记——1043.[编程入门]三个数字的排序

题目

1043.[编程入门]三个数字的排序

代码

while True:
	try:
		li=list(map(int,input().strip().split()))
		li.sort()
		for i in li:
		    print(i,end=' ')
	except:
		break

笔记

sort函数

sort() 函数对列表进行直接排序,无返回值。

语法

list.sort(cmp=None, key=None, reverse=False)

cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则(bool型),reverse = True 降序, reverse = False 升序(默认)。

示例

# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
 
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
 
# 指定第二个元素排序
random.sort(key=takeSecond)
 
# 输出类别
print('排序列表:')
print(random)

sorted函数

sorted() 函数对所有可迭代的对象进行排序操作。返回一个排序列表,不改变原有序列。

语法

sorted(iterable, cmp=None, key=None, reverse=False)

与sort函数的参数类似,iterable 为待排序的 可迭代对象

二者区别

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法 返回的是对已经存在的列表进行操作,无返回值,而 内建函数 sorted 方法 返回的是一个新的 list,而不是在原来的基础上进行的操作。

参考资料

Python List sort()方法——菜鸟教程
Python sorted() 函数——菜鸟教程

本文转载于网络 如有侵权请联系删除

相关文章

  • Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结

    大家好,又见面了,我是你们的朋友全栈君。1.增加一个字段代码如下复制代码//增加一个字段,默认为空altertableuseraddCOLUMNnew1VARCHAR(20)DEFAULTNULL;//增加一个字段,默认不能为空altertableuseraddCOLUMNnew2VARCHAR(20)NOTNULL;2.批量怎加字段方法一 这里可以使用事务代码如下复制代码bagin;//事务开始altertableem_day_dataaddf_day_house7int(11);altertableem_day_dataaddf_day_house8int(11);altertableem_day_dataaddf_day_house9int(11);altertableem_day_dataaddf_day_house10int(11);commit;//提交事务,事务结束事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。方法二 mysql批量为表添加多个字段 altertable表名add(字段1类型(长

  • KMP字符串匹配

    假设我们有这样一个要求,一个字符串S,一个匹配字符串P,我们想知道匹配串P是否被包含在字符串S中,如果包含那它在S的什么位置上?解决这个问题最简单的方法就是暴力匹配,匹配串中的一个元素匹配到了,就接着向后匹配,如果匹配失败,就整体后移一位,再重新匹配.举个例子,按如下2个字符串要求我们看下匹配过程是怎么样的.字符串S:DABABCABABCABDB匹配串P:ABCABD匹配过程,如表格所示:可见匹配过程中,字符串S的指针会不仅会右移,还会左7移,如第3次匹配过程;整体匹配次数大致是n*m,其中n和m分别是字符串S和匹配串P的长度,时间复杂度也就是O(n*m),那有没有更好的方式去完成匹配呢?仔细观察匹配过程,我们发现第4行匹配过程中,当匹配到D时,虽然不匹配成功,但是我们是可以知道[D]元素前面的2个元素是[AB]和匹配串的前缀字符[AB]是匹配的,那我们之间比较第3个元素[C]就可以了,就可以减少2次比较运算和字符串S指针的回溯.也就是说在某一元素匹配不成功后,直接判断下一指定索引元素就可以达到目的,那存储这一指定元素位置的索引,我们称之为next[]数组.按这样的思路D.E.Knu

  • 机器学习笔记(一)

    一、机器学习基本算法归类 数据源有标签属于有监督学习(回归可以理解为:y=ax+b) 数据源无标签属于无监督学习 离散型变量一般属于分类算法 连续型变量一般属于回归算法注:逻辑回归是二分类算法 二、机器学习一般建模流程1、导入库(sciket-learn相关模块儿)2、导入原始数据(数据读入,sql/本地文件/其他数据方式)3、数据清洗(null值,偏离值等处理)4、特征选择:选出所需特征x,以及对应目标y—数据决定了机器学习的上限,而算法只是尽可能的逼近这个上限—特征工程:特征构建、特征提取、特征选择常用特征处理方法及API #特征抽取 importsklearn.feature_extraction #字典特征抽取DictVectorizer fromsklearn.feature_extractionimportDictVectorizer #文本特征抽取 fromsklearn.feature_extraction.textimportCountVectorizer #TF-IDF特征抽取 fromsklearn.feature_extraction.textimportTf

  • 量子信息先行者中科院院士郭光灿:“要把中国量子计算机卖到国外”

    边策发自凹非寺 量子位报道|公众号QbitAI在中科大校园里,有这样一位院士,他留校任教56年,年近耄耋却仍站在科研一线,还自嘲做了几十年的“少数派”。 今年6月,他所带领的量子计算团队打造出“量子U盘”,将光信息存储在特殊晶体中1个小时,被新华社、人民日报等各大媒体转载,登上热搜。他的学生创办了中国第一家量子计算公司,已经推出了数款量子计算机芯片。他就是是中国量子光学和量子信息领域的先行者、中科院院士、中科大教授郭光灿。“锁住”光的物理学家4个月前“量子U盘”这项研究成果在网上引起了巨大的轰动,也引发了大众对于量子光学的好奇心:如何将速度每秒30万公里的光线存储在固体里?这项技术技术又对量子计算有哪些帮助?带着这些疑问,量子位与郭光灿院士进行了一次对话。其实,量子U盘的原理是用固体原子与光子的作用,当原子被激发后,光的状态就被存储起来。最后经过一系列操作再将激发原子转化为光信号。从1分钟到1小时,时间的延长让许多过去难以想象的物理实验变得可能。郭光灿向量子位解释道:当存储时间达到小时级后,就可以将两个相距几百公里天文台拍摄的信息存起来,再用飞机高铁将量子U盘运到一处,通过对比能把望远

  • Apache Spark 3.0.0重磅发布 —— 重要特性全面解析

    2020年6月18日,开发了近两年(自2018年10月份至今)的ApacheSparkTM3.0.0正式发布! ApacheSparkTM3.0.0版本包含3400多个补丁,是开源社区做出巨大贡献的结晶,在Python和SQL功能方面带来了重大进展并且将重点聚焦在了开发和生产的易用性上。同时,今年也是Spark开源10周年,这些举措反映了Spark自开源以来,是如何不断的满足更广泛的受众需求以及更多的应用场景。首先来看一下ApacheSparkTM3.0.0主要的新特性:在TPC-DS基准测试中,通过启用自适应查询执行、动态分区裁剪等其他优化措施,相比于Spark2.4,性能提升了2倍兼容ANSISQL对pandasAPI的重大改进,包括python类型hints及其他的pandasUDFs简化了Pyspark异常,更好的处理Pythonerrorstructuredstreaming的新UI在调用R语言的UDF方面,速度提升了40倍超过3400个Jira问题被解决,这些问题在Spark各个核心组件中分布情况如下图:此外,采用Spark3.0版本,主要代码并没有发生改变。 改进的Sp

  • proxy in nodejs code

    ItrainmyslefwithNodeJSandtriedasimpleGETcall.Hereismycode:varhttp=require(‘http’);varoptions={ host:‘www.boardgamegeek.com’, path:‘/xmlapi/boardgame/1?stats=1’, method:‘GET’ }varrequest=http.request(options,function(response){ varstr=“” response.on(‘data’,function(data){ str+=data; }); response.on(‘end’,function(){ console.log(str); }); });request.on(‘error’,function(e){ console.log('Problemwithrequest:’+e.message); });request.end();Whenbehindaproxyyouneedtomakethefollowingmodifications(ase

  • 大数据来分析下陈赫与老婆许婧离婚对事业会有影响吗?

      调查分析陈赫离婚引发轩然大波,劈腿传闻沸沸扬扬,各种腹黑栽赃传说也甚嚣尘上,处于舆论风暴眼的陈赫,“好男人”形象大打折扣,事业是否也受到冲击?去年初,当文章出轨发酵时,文章的事业可谓遭受重创,影视剧低调面世甚至熄火,网友自发抵制“渣男”作品,甚至险些被列入广电总局劣迹艺人名单。昨日,即将上映的《奔跑吧兄弟》大电影向媒体发放宣传资料,陈赫名字赫然在列,宣传图片也没见少;陈赫、张子萱主演的新剧《医馆笑传》即将开播,南都记者致电安徽卫视剧作宣传负责人,对方表示对陈赫风波持“乐观”态度,“会尽可能找他做宣传”。综合各方面信息显示,陈赫的事业目前暂时没有被各种负面消息影响到,至于之后其演艺事业会如何发展,是否会减少出镜,还有待观察。撰文:南都记者麻乐电影事业:“跑男”大电影物料继续发,陈赫还是关键人物哦在《奔跑吧兄弟》大电影里,陈赫作为主角,依然有不少戏份,而且还是游戏中逆袭的关键人物哦。1月21日晚传出陈赫离婚消息,1月22日晚陈赫发表离婚声明———“我错了”之后,其“好男人”形象消失殆尽,这会影响到“陈赤赤”同学(陈赫昵称)在大电影中的戏份么,他还会出席片方的发布会做宣传么?这些问题备受

  • MyBatis框架(二)

    导包,配置mybatis的总配置文件:mybatis-config.xml,1<?xmlversion="1.0"encoding="UTF-8"?> 2<!DOCTYPEconfiguration 3PUBLIC"-//mybatis.org//DTDConfig3.0//EN" 4"http://mybatis.org/dtd/mybatis-3-config.dtd"> 5<configuration> 6<!--引入数据库的信息的属性文件--> 7<propertiesresource="db.properties"></properties> 8 9<typeAliases> 10<packagename="model"/> 11</typeAliases> 12 13<environmentsdefault="hanqi"&

  • WebFont 三宗罪之一:WebFont 与 FOUT

    四赴T.I.T创意园面试,所学甚多。这篇文章是昨天面试中探讨的一个问题所延伸而来,现在都说WebFont怎么好怎么好,让我们逆向思维,揭底WebFont的一些缺点(劣势)。本文综合多篇文章来探讨WebFont与FOUT。首先,神马是FOUTFOUC,即无样式内容闪烁(FlashofUnstyledContent),指的是Web字体在下载并渲染之前,短暂显示无样式文本的情况。它会严重影响用户体验,尤其是当字体样式渲染前后有明显不同的时候。这个名词是09年的时候由一个老外提出命名的(见参考来源1),没办法人家英文WebFont早早就流行了。按照许多旧文章的描述,FOUT在IE浏览器跟部分低版本Firefox上会有,但Jeff认为这是错误的——因为当我脑海中有写“WebFont与FOUT”的文章的想法,它就给我蹦出一个活生生的例子:大名鼎鼎的腾讯ISUX官方博客。各位可以前往其官博浏览下,注意下文字的内容(比如首页瀑布流下的文章标题及内页标题)。就算你是用Chrome,照样有之。为了防止日后美观的ISUX官方博客改版,先截个动图:如果你没有类似gif截图的效果,那么我只能想到一个理由:哥们你

  • android 布局 使用 viewPager 时,如何解决 和 子页面 长按滑动 冲突问题

    使用viewPager时,如何解决和子页面长按滑动冲突问题。我的问题原型:   这个问题,我相信遇到的人会比较少,我是在一个viewPager中,其中一个fragment中实现了长按滑动图片的功能,而发现它们两者的onTouchEvent事件冲突。尝试过的解决方法:1-----   遇到这问题,首先是百度,百度到的方法有,自定义viewPager,在里面重写  onTouchEvent 和 onInterceptTouchEvent,具体代码是下面,这种方法,我尝试后发现,只能在第一次加载viewPager的页面达到阻断的效果,我这里详细说下,在MainActivity页面里面,我们初始化了viewPager,然后我们要在第二个页面的fragment中实现阻断,这时候,你可能会尝试在fragment中new一个MainActivity的对象,然后想方设法获取它里面的viewPager,或者是引入与MainActivity绑定好了的xml文件,再在fragment中findViewById()来获取次viewPager。然后使用 自定义viewPager里面的函数。   很不幸,我上述谈

  • 两则C++知识点

    返回引用遵守的两条准则: 1.不能返回局部变量; 2.不能返回new出的量,因为可能是临时对象。   const的用法: 1.基本数据类型的写限制; 2.函数的传入以及返回参数; 3.类内的数据成员以及成员函数的限制; 4.类对象的限制。

  • defer 匿名返回值&amp;命名返回值

    defer匿名返回值&命名返回值 1.问题的提出 关于Godefer对匿名返回值和命名返回值的不同行为 functest1()int{ varaint deferfunc(){ a++ }() returna } functest2()(aint){ deferfunc(){ a++ }() returna } 复制 test1最终返回0,test2最终返回1。 参考: Golang中defer、return、返回值之间执行顺序的坑 推迟,恐慌和恢复 2.问题解决 ​ 先来假设出结论(这是正确结论),帮助大家理解原因: 多个defer的执行顺序为“后进先出”; 所有函数在执行RET返回指令之前,都会先检查是否存在defer语句,若存在则先逆序调用defer语句进行收尾工作再退出返回; 匿名返回值是在return执行时被声明,有名返回值则是在函数声明的同时被声明,因此在defer语句中只能访问有名返回值,而不能直接访问匿名返回值; return其实应该包含前后两个步骤:第一步是给返回值赋值(若为有名返回值则直接赋值,若为匿名返回值则先声明再赋值

  • 谈谈InnoDB中的B+树索引

    索引类似于书的目录,他是帮助我们从大量数据中快速定位某一条或者某个范围数据的一种数据结构。有序数组,搜索树都可以被用作索引。MySQL中有三大索引,分别是B+树索引、Hash索引、全文索引。B+树索引是最最重要的索引,Hash索引和全文索引用的并不是太多,InnoDB不支持Hash索引,不过存储引擎内部去定位数据页时会使用Hash索引,这不是本文重点。本文将简单介绍B+树索引。 B+树的基本结构 这里不对B+树做精确定义,直接给出一个B+树的示意图并做一些解释说明。 图1:B+树的基本结构(来自网络) B+树是一颗多路平衡查找树,所有节点称为页,页就是一个数据块,里面可以放数据,页是固定大小的,在InnoDB中是16kb。页里边的数据是一些key值,n个key可以划分为n+1个区间,每个区间有一个指向下级节点的指针,每个页之间以双向链表的方式连接,一层中的key是有序的。以磁盘块1这个页为例,他有两个key,17,35,划分了三个区间(-无穷,17)p1,[17,35)p2,[35,+无穷]p3三个区间,也称扇出为3.p1指向的下级节点里边的key都是比17小的;p2指向的下级节

  • npm 包命令:不是内部或外部命令 问题分析

    NodeJS允许我们发布自己的npm包,且可以执行我们自定义的command。大部分时候,运行非常好,但如果一个新手或客户电脑运行你发布的npm包cmd,发现出现了:**不是内部或外部命令,也不是可运行的程序或批处理文件。我们的第一反应肯定是,我电脑没问题呀。 本着出现问题,解决问题,深究问题的原则,我们来分析下出现这种错误,可能由什么原因导致? 未安装nodeJS。现在nodejs已经内置安装npm,所以如果没有安装nodejs,那么我们发布的npm包cmd运行就是一个空话。针对这个问题的检查也很简单。 node-v 如果安装成功会显示node版本 npm-v 如果安装成功会显示npm版本 复制     检查完nodejs安装情况,下一步,就需要查看自定义包是否部署。 npmbin-g 查看npm的全局安装包bin路径。复制  切换至对应文件目录下,我们可以查看是否存在对应的*.cmd文件。例如我自定义包的cmd为jit,那么我会查看在当前文件夹下是否存在jit.cmd     基本经过以上几布,可以明确npm自定

  • java之面向对象详解(转)

    #############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、对象与内存分析5、封装性6、构造方法7、this关键字8、值传递与引用传递?9、对象的一对一关系10、static关键字11、main方法分析12、继承13、对象的初始化14、方法的重写15、super关键字16、final关键字17、抽象类18、接口19、多态性20、instanceof关键字21、内部类######################################1、面向对象基本概念其本质是以建立模型体现出来的抽象思维过程和面向对象的方法(百度百科)是一种编程思维,也是一种思考问题的方式 如何建立面向对象的思维呢?1、先整体,再局部2、先抽象,再具体3、能做什么,再怎么做 2、类与对象类:类是一种分类,一个类别,一个模板,它描述一类对象的行为和状态,是一组具有相同特性(属性)与行为(方法)的事物集合对象:是一个个性的产物,是一个个体的特征,是类的一个实例,有状态和行为 3、类和对象的定义格式类的定义:class类名称{属性名称;返回值类型方

  • 单链表的几个基本操作

    /*以头插法,创建长度为n的单链表,并实现对其的增、删、改、查*/   #include<stdio.h> #include<stdlib.h> structnode { intdata; structnode*next; }; structnode*Creat_List(structnode*head,intn)//创建链表 { structnode*p; for(inti=0;i<n;i++) { p=(structnode*)malloc(sizeof(structnode)); scanf("%d",&p->data); p->next=head; head=p; } returnhead; } voidPut(structnode*head)//打印链表 { structnode*p; p=head; while(p!=NULL) { printf("%d",p->data); p=p->next; } printf("\n"); } structnode*Insert(structnode*

  • Qt 国际化翻译

    简介 QtLinguist提供了一套加速应用程序翻译和国际化的工具。Qt使用单一的源码树和单一的应用程序二进制包就可同时支持多个语言和书写系统。 使用QTranslator来加载生成的qm文件,就可以让程序显示指定的语言。 //国际化翻译 QStringlanguage="CH";//默认为中文,后期可以使用ini方式保存语言选项 QTranslatortranslator; translator.load(QString(":/Translate_")+language); a.installTranslator(&translator); 复制 要进行多语言的切换,需要执行以下步骤: 对用户可见的文本信息全部使用tr()进行封装 提供用户可以用来切换语言的一种方法。 对于每一个窗口部件或者对话框,重写changeEvent事件,当事件类型为QEvent::LanguageChange时,翻译文本进行重新调用(为了简单我把它放在一个单独的函数translateUI()中)。 多语言切换实例效果 添加翻译源 为了方便,这里只介绍中、英文之间的切换。 在pro中

  • Ubuntu下MySQL数据库安装与配置与卸载

    安装: sudoapt-getinstallmysql-servermysql-client 一旦安装完成,MySQL服务器应该自动启动。您可以在终端提示符后运行以下命令来检查MySQL服务器是否正在运行: sudonetstat-tap|grepmysql 当您运行该命令时,您可以看到类似下面的行: tcp    0   0localhost:mysql    *:*          LISTEN   21102/mysqld  启动或重启 如果服务器不能正常运行,您可以通过下列命令启动它: sudo/etc/init.d/mysqlrestart 或者: sudoservicemysqlrestart 显示如下表示成功: mysqlstop/waitingmysqlstart/running,process... 打开MySQL my

  • 1面向基本实现

    1什么是面向对象 1一个类有特征和功能两个内容组成 特征就是一个描述:颜色,品牌,排量 功能就是一个能力:拉货,拉人,.... 特征就是变量.在类中称为属性 功能就是函数, 在类中称为方法 #2定义一个车类 classCart(): #属性==特征==变量 color='白色'#表示颜色的属性 barnd='aodi'#品牌属性 pailing=3.4#排量属性 #方法==功能==函数 deflahuo(self): print("可以拉货") deflaren(self): print("可以拉人") defdoufeng(self): print("可以兜风") 复制 3如何通过类实例化对象并使用 aodiobj是一个对象 #通过类实例化一个对象 aodiobj=Cart() #调用aodiobj对象的方法 aodiobj.doufeng() #获取对象的属性 print(aodiobj.color) 复制

  • 微信小程序分享功能(onShareAppMessage)相关bug

    场景 在微信小程序中,每分享一次,都要请求一次接口,因为每一次分享出去的标题或者图片可能不一样,所以每次都要请求,并用接口返回的结果作为分享的标题和图片。在做的过程中出现分享出去的标题和图片不显示,而是显示页面默认的截图。出现这个问题需要注意一下几点。 注意点1 接口请求时一定要用Promise请求,分享的方法一定要用asyncawait(反正我是必须要这样,有没有其他方法我没有试) 在分享的页面引入该js varcommon=require("../../compoents/common"); 复制     注意点2 配置里面的版本号一定要是2.12.0以及之后的版本  

  • 简版双飞翼

    双飞翼的布局主要优点是:优先显示中间部分,优先加载主要部分。   简版双飞翼布局虽然也可以实现双飞翼布局的样式,但并不具有优先加载中间部分的特点;简版双飞翼的优点就是比较容易理解,容易看懂,容易记忆,以及容易布局,需要用双飞翼时,若实在无法搞定原版的双飞翼布局,可以拿简版来代替。(建议尽量还是用原版的双飞翼布局,此布局仅做补充,替代)   简版双飞翼HTML: <divclass="warp"> <divclass="left">left</div> <divclass="right">right</div> <divclass="centent">centent</div> </div> 简版双飞翼CSS: .warp{ width:70%; height:500px; margin:0auto; } .left{ float:left; width:200px; height:500px; background:cadetblue; } .right{ flo

相关推荐

推荐阅读