1.列表数据元素排序

在创建的列表中,数据元素的排列顺序常常是无法预测的。这虽然在大多数情况下都是不可避免的,但经常需要以特定的顺序呈现信息。有时候希望保留列表数据元素最初的排列顺序,而有时候又需要调整排列顺序。python提供了很多列表数据元素排序的方式,可根据情况选用。

1.永久性排序

python的sort函数能够较为轻松的对列表数据元素进行排序。
其语法格式:列表变量名.sort()
假设你有一个汽车列表,并要让其中的汽车按字母排序。为简化这项任务,我们假设列表中数据元素的所有值都是小写,编写程序如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
运行结果如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
我们发现cars中数据元素的顺序已经被改变。
我们还可以按与字母顺序相反的顺序排列列表数据元素,为此,只需向sort函数传递参数reverse=True即可,编写程序如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
运行结果如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP

2.临时性排序

要保留列表数据元素原来的排列顺序,同时以特定的顺序呈现他们,可使用sorted函数。sorted函数能够按特定顺序显示列表数据元素,同时不影响它们在列表中的原始排列顺序。
其语法格式:列表变量名.sorted()
编写程序如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
运行结果如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
我们可以发现,调用sorted函数后,列表数据元素的排列顺序没有变。如果要按与字母顺序相反的顺序显示列表,可向sorted函数传递参数reverse=True,编写程序如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
运行结果如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
在并非所有值都是小写时,按字母顺序排列列表要复杂些。决定排列顺序时,有多种解读大写字母的方式,要指定准确的排列顺序,可能比我们这里所做的要复杂。然而,大多数排序方式都是基于本节介绍。

3.反转列表数据元素

要反转列表数据元素的排列顺序,可使用reverse函数。
其语法格式:列表变量名.reverse()
假设汽车列表是按购买时间排列的,可轻松地按相反的顺序排列其中的汽车,编写程序如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
运行结果如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
注意:
①reverse函数不是指按与字母顺序相反的顺序排列列表数据元素,而只是反转列表数据元素的排列顺序。
②reverse函数永久性地修改列表数据元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需再次调用reverse函数即可。

2.获取列表长度

使用len函数可快速获悉列表的长度。
其语法给是:列表变量名.len()
编写程序如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
运行结果如下所示
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
python计算列表元素个数时是从索引1开始的,因此确定列表长度时,不会存在差一错误,有几个数据元素,列表的长度就是几。

3.遍历列表

经常需要遍历列表的所有数据元素,对每个数据元素执行相同的操作。需要对列表中的每个数据元素都执行相同的操作时,可使用python中的for循环。
其语法格式:
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
假设我们有一份学员名单,需要将其中每个学员的名字都打印出来。为此,我们可以分别获取名单中的每个名字,但这种做法会导致多个问题。
问题1:如果名单很长,将会包含大量重复代码
问题2:每当名单的长度发生变化时,都必须修改代码。
在实际编程中我们通过使用for循环语句,可让python去处理这些问题。编写程序如下所示:
【python基础】复杂数据类型-列表类型(排序/长度/遍历)-LMLPHP
for循环语句的知识点我们放在后面着重介绍,现在我们只要知道可以通过for循环,通过"照葫芦画瓢"能够实现对列表的遍历即可。

06-03 20:28