#创作者招募令#
第五十三节:Python中“对列表进行排序”
今天学的是对列表中的元素进行排序的方法。
在实际操作中,对列表中的元素进行排序,是使用列表时的一种非常基本和常用操作,在Python中,提供了两种方法来进行排序操作。
1、使用sort()方法进行排序
sort()方法是对列表进行排序,就是直接改动原来的列表,它的语法格式如下:
例图1其中,列表名listname和关键字sort之间使用英文半角句号“.”分隔;
英文半角小括号内的参数有两个,使用英文半角逗号“,”分隔;
小括号内的第一个参数Key是设定从每一个元素中提取一个用于比较的键(相当于指定用什么拿来做排序的根据),比如:设置“Key=str.lower”就表示在排序的时候不区分大写小,此参数可以省略;
小括号内的第二个参数reverse是用来设定排序的方式是升序还是降序,当“reverse=True”时列表以降序排列,当“reverse=False”时列表以升序排列,此参数也可以省略,省略后默认升序排列列表。
举一个例子,定义一个无序数值的列表和掺杂了大小写的无序字母列表,通过下图,可以清楚地看到使用sort()方法各种排序的结果:
例图2通过实例可以看到,在对英文字符串进行排序的时候,sort()方法的Key参数有时候非常必要,设定“Key=str.lower”就是在排序的时候不区分大写小,从上面的实例就可以看出这个参数设置与否的差别。
注意:sort()方法排序对中文支持不好,比较复杂,容后再学。
2、使用sorted()函数对列表进行排序
这个函数在前面第47节就了解过,使用sorted()函数对列表进行排序后,会产生一个新的列表,原列表不会发生变化,新的列表可以看作是原列表的有序副本,它的格式如下:
例图3其中,newlist代表新的列表,用等号“=”表示newlist就是函数sorted()的运算结果;
小括号内的函数参数有三个:第一个是原列表名listname,第二个Key还是设定从每一个元素中提取一个用于比较的键,第三个参数reverse依旧是用来设定排序的方式是升序还是降序。
用一个例子来展现这个函数的用法:设定一个无序数值列表,一个无序不分大小写的字母列表,再设定一个“三国‘十大猛将’”字符串列表,分别对它们进行排序,可以清楚地从下图中看到排序的结果:
例图4记得前面拿“蜀国‘五虎上将’”的列表做排序实验么?看上面写例图,这次用“三国‘十大猛将’”列表做实验,但是设定参数与不设定参数的的排序结果是一样的,也不知道Python是以什么键作为排序的比较根据的,可能是因为还没有学到新的key参数设定方法,以后应该会真正学到字符串列表排序的方法吧。
再次强调一点,使用sort()方法排序和使用sorted()函数排序的作用是基本相同的,语法格式上也有一致之处,但它们最大的不同就是sort()方法就在原列表上改动,sorted()函数则是排序后产生一个新的列表。
例图5明天要学习的是Python的“列表推导式”,请拭目以待。
为自己加油!我是“学海无涯,自学不息!”
零基础学Python(全彩版)上手简易,视频教学,实例众多,在线支持!京东月销量好评率99%无理由退换京东配送官方店¥38.3购买