前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天 3 分钟,小闫带你学 Python(十二)

每天 3 分钟,小闫带你学 Python(十二)

作者头像
小闫同学啊
发布2019-08-06 09:37:11
4130
发布2019-08-06 09:37:11
举报
文章被收录于专栏:小闫笔记小闫笔记

前言

昨天的文章『每天 3 分钟,小闫带你学 Python(十一)』讲了列表的下标索引和切片、列表的循环遍历以及列表的嵌套。下标索引和切片与字符串操作相同,循环遍历用到了 for 循环和 while 循环,而列表的嵌套则同 if 等语句类似,就是一层套一层而已。

今天继续列表的相关操作。

1.添加元素

列表既然是可变的数据类型,那么它应该支持 增删改查 的相关操作,即增加元素、删除元素、修改元素、查找元素。首先来看一下如何给列表增加元素。

1.1 append

前面已经讲过一个方法,那便是 append 。如下示例:

代码语言:javascript
复制
>>> mylist = [1, 2, 3]
>>> mylist.append('EthanYan')
>>> mylist
[1, 2, 3, 'EthanYan']

append 方法可以向列表尾部添加元素。 在 python 自带的解释器中,如果输入变量,那么会直接返回其值,并不需要 print 操作。解答一部分小伙伴的疑惑。 >> 后方是代码,下方为对应的输出结果。

1.2 extend

extend 可以将一个列表中的元素,逐一添加到另一个列表中:

代码语言:javascript
复制
>>> mylist = [1, 2, 3]
>>> testlist = [4, 5, 6]
>>> mylist.extend(testlist)
>>> mylist
[1, 2, 3, 4, 5, 6]

有人也许有疑惑,难道 append 不可以吗?咱们下面进行实验:

代码语言:javascript
复制
>>> mylist = [1, 2, 3]
>>> testlist = [4, 5, 6]
>>> mylist.append(testlist)
>>> mylist
[1, 2, 3, [4, 5, 6]]

可以看到,上方的 append 是将 testlist 作为一个整体添加到了 mylist 的尾部。

1.3 insert

insert 就厉害了,它可以在指定的位置处添加元素,可以称其为 插入 ,对应 insert 的翻译。语法为:

代码语言:javascript
复制
insert(index, object)

index 代表下标,object 代表插入的对象

示例如下:

代码语言:javascript
复制
>>> mylist = [1, 2, 3]
>>> mylist.insert(2, 'EthanYan')
>>> mylist
[1, 2, 'EthanYan', 3]

可以看到我们在下标为 2 处,添加元素 EthanYan 后,原本下标为 2 处的元素向后移动了一个位置。

2.删除元素

类比现实生活,一个公司名单中有 6 个人,做裁员后,名单中只剩下了老板。先不要考虑倒闭之类的情况,该如何进行操作?肯定是将其中 5 人的名字从名单中删除。列表也需要这样的功能。下面介绍三个删除的方法:

2.1 del

del 可以根据下标进行删除相应元素

代码语言:javascript
复制
>>> mylist = [1, 2, 3]
>>> del mylist[0]
>>> mylist
[2, 3]

上述操作为删除 0 号元素,再次输出原列表,发现已经删除。

2.2 pop

pop 方法可以删除列表中最后一个元素

代码语言:javascript
复制
>>> mylist = [1, 2, 3]
>>> mylist.pop()
3
>>> mylist
[1, 2]

可以看到在执行 mylist.pop() 时,会有一个返回值,那便是最后一个元素。返回值是执行相关操作后返回给我们的结果。因此我们可以在执行 pop 时,使用变量进行接收返回值。最后发现原列表中删除掉了最后一个元素。

代码语言:javascript
复制
>>> mylist = [1, 2, 3]
>>> ele = mylist.pop()
>>> ele
3

ele 在接收返回值后,输出其值,发现为列表最后一个元素。

其实 pop 方法中也可以传入下标,进行删除指定的元素,它与 del 的不同之处为 pop 方法执行后会有一个返回值,那便是删除的元素,我们可以使用变量进行接收。

代码语言:javascript
复制
>>> mylist = [1, 2, 3]
>>> ele = mylist.pop(0)
>>> ele
1

删除 0 号元素后,会将 0 号处的值返回,使用变量 ele 进行接收,发现变量的值为删除的元素。

2.3 remove

remove 根据元素的值进行删除,比如要从名单中删除 小红 ,那么直接将 小红 作为参数传到方法中,进行删除即可。如下示例:

代码语言:javascript
复制
>>> mylist = [1, 2, 3]
>>> mylist.remove(1)
>>> mylist
[2, 3]

remove 的括号中传入要删除的元素值,比如上方代码要删除列表中的元素 1 ,那么我们直接将 1 传入,操作执行后查看原列表,得到验证。

3.修改元素

前面记忆了大量的方法,大家是不是感觉有些混乱。修改元素没有新的方法,使用之前的下标即可完成。思路为:利用下标找到对应的元素,然后对其重新赋值即可,如下:

代码语言:javascript
复制
>>> mylist = [2, 7, 3, 5]
>>> mylist[1] = 'EthanYan'
>>> mylist
[2, 'EthanYan', 3, 5]

上方代码将列表中 1 号元素 7 修改为 EthanYan

4. 查找元素

4.1 in / not in

查找某一个元素是否在列表中,可以使用两个方法 in 或者 notin。如同他们本身的英文含义一样。返回结果为布尔值,ture 或者 flase。true 代表在,false 代表不在。

代码语言:javascript
复制
>>> mylist = [2, 7, 3, 5]
>>> 1 in mylist
False
>>> 2 in mylist
True
>>> 1 not in mylist
True

4.2 index / count

这俩方法是不是似曾相识?没错,字符串的相关操作中见过它俩,其实它们的含义也是相同的,下面举例验证:

index 表示查询元素的下标

代码语言:javascript
复制
>>> mylist = [2, 7, 3, 5]
>>> mylist.index(2, 0, len(mylist))
0

如上代码,index 中第一个参数 2 为要查询的元素值;第二个参数 0 为起始下标;第三个参数 len(mylist) 为结束位置下标。 执行完此方法返回结果为查询元素值的下标注意:不包含结束位置下标。即起始下标到结束下标的区间是左闭右开的。

count 方法可以统计某个元素在列表中出现的次数

代码语言:javascript
复制
>>> mylist = [2, 7, 3, 5, 2, 2]
>>> mylist.count(2)
3

列表中 2 出现了 3 次,因此执行完此方法后返回出现次数 3.

5.排序

列表可以将元素执行排序操作,如列表为 [1, 2, 3] ,想让其变为 [3, 2, 1]。列表的排序操作有两个常用方法,如下:

5.1 sort

sort 方法是将列表按特定顺序重新排列,默认为由小到大,参数 reverse=True 可改为倒序,由大到小。

代码语言:javascript
复制
>>> mylist = [2, 7, 3, 5]
>>> mylist.sort()
>>> mylist
[2, 3, 5, 7]
>>> mylist.sort(reverse=True)
>>> mylist
[7, 5, 3, 2]

5.2 reverse

reverse 方法是将列表逆置,即将列表反转,原本是 [2, 5, 3] ,执行此方法后变为 [3, 5, 2]。

代码语言:javascript
复制
>>> mylist = [2, 5, 3]
>>> mylist.reverse()
>>> mylist
[3, 5, 2]

6.作业

今日学习目标:熟练掌握列表的增删改查操作。

1.结合示例练习列表的增删改查操作

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1.添加元素
    • 1.1 append
      • 1.2 extend
        • 1.3 insert
        • 2.删除元素
          • 2.1 del
            • 2.2 pop
              • 2.3 remove
              • 3.修改元素
              • 4. 查找元素
                • 4.1 in / not in
                  • 4.2 index / count
                  • 5.排序
                    • 5.1 sort
                      • 5.2 reverse
                      • 6.作业
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档