前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2021年12月 Python教学课程 05-列表List

【愚公系列】2021年12月 Python教学课程 05-列表List

作者头像
愚公搬代码
发布2021-12-13 08:41:57
5870
发布2021-12-13 08:41:57
举报
文章被收录于专栏:历史专栏

文章目录

一、列表List

列表是 Python 中最基本也是最常用的数据结构之一。 列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所在的位置。 第一个元素的索引是 0,第二个索引是 1,依此类推。 Python 的列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删 除等。 从数据结构角度看,Python 的列表是一个可变长度的顺序存储结构,每一个位置存放 的都是对象的指针。 比如,对于这个列表 alist = [1, “a”, [11,22], {“k1”:”v1”}],其在内存内的存储方式是这 样的:

二、列表相关操作

1.列表的创建方式

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。列表内的元素, 可以是任意类型的数据,可多层嵌套列表,元素个数无限制。

代码语言:javascript
复制
>>> list1 = [] # 创建一个空列表
>>> list2 = [1, 2, 3]
>>> list3 = [1, 'a', [11,22], {'k1':'v1'}]
>>> list4 = [1, 2, [3, 4, 5]]

2.访问列表内的元素

列表从 0 开始为它的每一个元素顺序创建下标索引,直到总长度减一。要访问它的某个 元素,以方括号加下标值的方式即可。注意要确保索引不越界,一旦访问的 索引超过 范围,会抛出异常。所以,一定要记得最后一个元素的索引是 len(list)-1。

代码语言:javascript
复制
>>> lis = ["a", "b", "c"]
>>> lis[0]
>>> lis[1]
>>> lis[2]
>>> lis[3]

3.修改列表中元素的值

直接对元素进行重新赋值。

代码语言:javascript
复制
>>> lis[0]
'a'
>>> lis[0] = "d"
>>> lis[0]
'd'

4.删除列表中的元素

使用 del 语句或者 remove(),pop()方法删除指定的元素。

代码语言:javascript
复制
>>> lis = ["a", "b", "c"]
>>> del (lis[0])
>>> lis
['b', 'c']
>>> lis.remove("b")
>>> lis
['c']
>>> lis.pop()
'c'
>>> lis
[]

5.列表的特殊操作

除了以上的常规操作,列表还有很多有用的其它操作。

语句

结果

描述

[1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

组合两个列表

[‘Hi!’] * 4

[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]

列表的乘法

3 in [1, 2, 3]

True

判断元素是否存在于列表中

for x in [1, 2, 3]: print x

1 2 3

迭代列表中的每个元素

6.针对列表的常用函数

Python 有很多内置函数,可以操作列表。

函数

作用

len(list)

返回列表元素个数,也就是获取列表长度

max(list)

返回列表元素最大值

min(list)

返回列表元素最小值

list(seq)

将序列转换为列表

7.切片

切片指的是对序列进行截取,选取序列中的某一段。 切片的语法是: list[start:end]

以冒号分割索引,start 代表起点索引,end 代表结束点索引。省略 start 表示以 0 开始, 省略 end 表示到列表的结尾。注意,区间是左闭右开的!也就是说[1:4]会截取列表的 索引为 1/2/3 的 3 个元素,不会截取索引为 4 的元素。分片不会修改原有的列表,可以 将结果保存到新的变量,因此切片也是一种安全操作,常被用来复制一个列表,例如 newlist = lis[:]。 如果提供的是负整数下标,则从列表的最后开始往头部查找。例如-1 表示最后一个元素, -3 表示倒数第三个元素。 切片过程中还可以设置步长,以第二个冒号分割,例如 list[3:9:2],表示每隔多少距离 取一个元素。

8.多维列表(嵌套列表)

列表可以嵌套列表,形成多维列表,形如矩阵。其元素的引用方法是 list[i][j][k]…。 当然,也可以嵌套别的数据类型。

代码语言:javascript
复制
>>> a = [[1,2,3],[4,5,6],[7,8,9]]
>>> a[0][1]
2
>>> a = [[1,2,3],[4,5,6],[7,8,9],{"k1":"v1"}]
>>> a[3]["k1"]
'v1'

9.列表的遍历

列表有好几种遍历方式:

代码语言:javascript
复制
a = [1,2,3,4,5,6]
---------------------------
for i in a: # 遍历每一个元素本身
 print(i)
------------------------------
for i in range(len(a)): # 遍历列表的下标,通过下标取值
 print(i, a[i])
--------------------------------
x = 9
if x in a: # 进行是否属于列表成员的判断。该运算速度非常快。
 print("True")
else:
 print("False")

10.列表的内置方法

下图中的方法是列表专有的内置方法,请熟记于心。

方法

作用

append(obj)

在列表末尾添加新的对象

count(obj)

统计某个元素在列表中出现的次数

extend(seq)

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

index(obj)

从列表中找出某个值第一个匹配项的索引位置

insert(index, obj)

将对象插入列表

pop(obj=list[-1])

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

remove(obj)

移除列表中某个值的第一个匹配项

reverse()

反向列表中元素

sort([func])

对原列表进行排序

copy()

复制列表

clear()

清空列表,等于 del lis[:]

注意:其中的类似 append,insert, remove 等方法会修改列表本身,并且没有返回值 (严格的说是返回 None)。

11.将列表当做堆栈

Python 的列表特别适合也很方便作为一个堆栈来使用。堆栈是一种特定的数据结构, 最先进入的元素最后一个被释放(后进先出)。将列表的表头作为栈底,表尾作为栈顶, 就形成了一个堆栈。用列表的 append()方法可以把一个元素添加到堆栈顶部(实际上 就是在列表的尾部添加一个元素)。用不指定索引的 pop()方法可以把一个元素从堆栈 顶释放出来(也就是从列表尾部弹出一个元素)。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/12/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、列表List
  • 二、列表相关操作
    • 1.列表的创建方式
      • 2.访问列表内的元素
        • 3.修改列表中元素的值
          • 4.删除列表中的元素
            • 5.列表的特殊操作
              • 6.针对列表的常用函数
                • 7.切片
                  • 8.多维列表(嵌套列表)
                    • 9.列表的遍历
                      • 10.列表的内置方法
                        • 11.将列表当做堆栈
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档