购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.2 列表的遍历和排序

4.2.1  列表的遍历

列表是一个可迭代对象,它支持通过for语句遍历其中的元素。下面以推送商品优惠消息的程序为例,演示如何使用for语句遍历列表的元素。假设现有一个存储了会员姓名的列表,通过for语句遍历该列表,依次向会员推送商品优惠消息。示例代码如下:

运行代码,结果如下:

4.2.2  列表的排序

在日常生活中排序操作无处不在,无论是按字母顺序排列名单,还是按数字大小对产品进行评级,都是一些比较常见的操作。Python中列表的排序是将元素按照某种规定进行重新排列,列表中用于实现排序操作的常用函数或方法有sort()、reverse()、sorted()。下面分别介绍如何使用这些函数或方法。

1.sort()方法

sort()方法能够对列表元素排序,其语法格式如下:

上述格式中,参数key表示指定的排序规则,该参数可以是列表支持的函数;参数reverse用于控制列表元素排序的方式,该参数可以取值True或者False(默认值)。如果reverse的值为True,表示降序排列;如果参数reverse的值为False,表示升序排列。

使用sort()方法对列表排序后,排序后的列表会覆盖原来的列表。示例代码如下:

上述代码首先创建了 3 个列表li_one、li_two和li_three,然后通过sort()方法按照不同方式对这 3 个列表进行排序:列表li_one采用默认的升序方式排列列表中的元素,列表li_two采用降序的方式排列列表元素,列表li_three按照列表中每个字符串的长度进行排序。

注意: len是一个函数名,它能够计算字符串的长度。

运行代码,结果如下:

2.sorted()函数

sorted()函数也能够对列表元素进行重新排列,并返回排列后的新列表。示例代码如下。

运行代码,结果如下所示。

3.reverse()方法

reverse()方法用于将列表中的元素倒序排列,即把原列表中的元素按照从右至左依次排列存放,示例代码如下。

运行代码,结果如下:

4.2.3  实例2:商品价格区间排序

在电商平台购物时,面对琳琅满目的商品,应该如何快速选择适合自己的商品呢?为了能够让用户快速地定位到适合自己的商品,电商平台通常会提供价格排序与设置价格区间功能。假设某电商平台展示 10 件商品,每件商品对应的价格见表 4-1。

表 4-1 商品价格

用户需要分别输入最大价格和最小价格,先选定符合自己需求的价格区间,再选择升序或降序的排序方式,最终输出此价格区间内排序后的商品价格。

代码

商品价格区间排序

本实例要求编写程序,实现以上描述的设置价格区间和价格排序的功能。扫描二维码,可查看参考代码。 XWF+5BzZm3bL6TVz+bXidAE3oGoxyLhzu6W49qMhhxwiQ84sM4k4sNECA/+vYti4

点击中间区域
呼出菜单
上一章
目录
下一章
×