python 购物车增删改_Python编程思想(7):列表的增删改操作

李宁老师已经在「极客起源」 微信公众号推出《Python编程思想》电子书,囊括了Python的核心技术,以及Python的主要函数库的使用方法。读者可以在「极客起源」 公众号中输入 160442 开始学习,或点击「极客起源」公众号下方的「编程思想」 > 「Python编程思想」 菜单开始学习。

----------------正文---------------

在前文已经提到,列表与元组最大的区别在于:元组是不可改变的,列表是可以改变的。元组支持的操作,列表基本上都支持;列表支持对元素的修改,而元组则不支持。从这个角度来看,可以认为列表是增强版的元组。

尽管大多数情况可以使用列表来代替元组,但如果程序不需要修改列表中的元素时,使用元组代替列表则会更安全。

1. 创建列表和元组

在前面已经介绍了使用方括号语法创建列表,其实Python 还提供了一个内置的list()函数来创建列表,list()函数可用于将元组、区间(range)等对象转换为列表。

示例代码:创建列表.py

上面程序中使用list()函数将1个元组转换为列表。然后又将一个区间(range) 对象转换为列表,该行代码转换的区间为range(1, 20),该区间的默认步长是1,该区间共包括1到19共19个值(注意:range()函数创建的区间是半闭半开的,所以不包括20)。因此程序输出b_ _list 时将看到如下结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

最后将range(4, 20,2)转换为列表,该区间是从4到20 (不包括20)且步长为2的数值,因此程序输出c__list时将看到如下结果:

[4, 6, 8, 10, 12, 14, 16, 18]

与list()对应的是Python 也提供了一个tuple()函数,该函数可用于将列表、区间(range)等对象转换为元组。

示例代码:创建元组.py

2. 向列表添加元素(append)

为列表添加元素可以使用列表的append()方法,该方法会把传入的参数值追加到列表的最后。append()方法既可接收单个值,也可接收元组、列表等,但该方法只是把元组、列表当成单个元素,这样就会形成在列表中嵌套列表、嵌套元组的情形。

示例代码:向列表添加元素.py

从上面代码可以看出,为列表追加另一个列表时,Python 会将被追加的列表当成1个整体的元素,而不是追加目标列表中的元素。

3. 向列表添加元素(extend)

在上一节讲了append()方法,但这个方法只会将列表当成一个整体的元素添加,如果希望不将被追加的列表当成一个整体, 而只是追加列表中的元素,则可以使用列表的extend()方法。

示例代码:向列表添加元素(extend).py

4. 向列表插入元素(insert)

追加元素是指在列表最后插入元素,而如果希望在列表中间插入元素,则可以使用列表的insert()方法,使用insert()方法时要指定将元素要插入的位置。

示例代码:向列表插入元素(insert).py

5. 删除列表元素

删除列表元素需要使用del语句。del 语句是Python的一种语句,专门用于执行删除操作,不仅可用于删除列表的元素,也可用于删除变量等操作。

使用del语句既可删除列表中的单个元素,也可直接删除列表的中间一段。

示例代码:删除列表元素.py

使用del语句不仅可以删除列表元素,也可以删除普通变量。

示例代码:

上面的代码删除了name变量,因此接下来访问name变量时将会抛出异常(引发NameError错误)。除使用del语句之外,Python 还提供了remove()方法来删除列表元素,该方法并不是根据索引来删除列表元素的,而是根据元素本身来执行删除操作的。该方法只删除第1个找到的元素,如果找不到该元素,该方法将会抛出异常(引发ValueError错误)。

示例代码:

在这段代码的最后,使用列表的clear方法清空了整个列表。

6. 修改列表元素

列表的元素相当于变量,因此程序可以对列表的元素赋值,这样即可修改列表的元素。

示例代码:修改列表元素.py

上面代码通过索引对列表元素赋值,程序既可使用正数索引,也可使用负数索引。

此外,程序也可通过分片对列表其中一部分赋值, 在执行这个操作时并不要求新赋值的元素个数与原来的元素个数相等。

这意味着通过这种方式既可为列表增加元素,也可删除列表中的元素。

示例代码:

如果对列表中空的分片赋值,就变成了为列表插入元素。

示例代码:

如果将列表其中一段赋值为空列表,就变成了删除列表中的元素。

示例代码:

对列表使用分片语法赋值时,不能使用单个值。如果使用字符串赋值,Python 会自动把字符串当成序列处理,其中每个字符都是一 个元素。

实例代码:

在使用分片语法赋值时,也可指定step参数。但如果指定了step参数,则要求所赋值的列表元素个数与所替换的列表元素个数相等。

示例代码:

更多视频课程请看这里​universe.ke.qq.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值