【Python 基础】列表全面讲解:元素获取、嵌套使用及常用函数
【Python 基础】列表全面讲解:元素获取、嵌套使用及常用函数
文章目录
前言
Python 中组合数据类型是编程核心基础,包含列表(list)、元组(tuple)、字典(dict)与集合(set)。每一种数据类型都有特定的用处和特征,合理掌握各类数据结构的特点与用法,能高效存储、处理数据,为后续编程学习打下坚实基础。本文是面向新手将使用列表类型的使用方式来介绍。
一、获取列表元素
列表是 Python 最常用的可变组合数据类型,使用 []定义,元素可存放数字、字符串等不同类型数据。支持增、删、改、查操作,有序且允许元素重复,灵活便捷,是日常数据存储与处理的常用结构。
1.索引获取列表元素
列表中间的元素都是有顺序的,所以我们可以通过索引和切片的方式获取到列表中的元素,我们首先说索引方法,他的特点是有两个方向可以选择,列表中的字符串和子列表都只当作一个元素来看。
演示代码:
a = '我爱学习'
ls = [36,[36],[3,6],a]
print(ls[0],ls[1],ls[2],ls[3])
输出结果:
36 [36] [3, 6] 我爱学习
36 [36] [3, 6] 我爱学习
我们使用了三种元素分别是数值,子列表,还有字符串,虽然子列表中的数据不止一个但我们还是完整的将他输出出来了,这是因为列表的特征,就是将列表中的字符串和子列表都只当作一个元素来看。
如果我们想索引子列表中的元素,只需要稍微的改动一下代码即可,代码如下:
a = '我爱学习'
ls = [36,[36],[3,6],a]
print(ls[1][0],ls[2][1],ls[3][2])
结果为:
36 6 学
这两个索引方式都是用到了列表的索引原理,即列表在内存中是一块逻辑上连续的地址空间,每个元素会按顺序依次存放。列表的索引,就相当于给每个元素按顺序编了号:从0开始,依次是0,1,2,3…,代表元素在列表中的 “偏移位置”。
同时有两个方向,分别是从队头向队尾,和从队尾向队头。
不同的是,从队头向队尾正向索引从左到右,以0为起点;从队尾向队头反向索引从右到左,以-1为起点。
我们需要注意的是索引下标必须是整数:列表索引只能是整数(int)类型,不能用浮点数(floa)、字符串(str)等其他类型,否则会直接报错。
越界会报错:当索引值超出列表的有效范围(比如列表长度为 3,用my_list[3]或my_list[-4]),会抛出IndexError: list index out of range异常。
双向索引对应关系:对于长度为n的列表,正向索引i和反向索引-(n-i)指向同一个元素。
2.切片获取列表元素
获取列表元素的第二种方法为切片,特征是我们通过切片获得的结果还是一个列表,新列表中包含的是我们切片获取的列表元素。
演示代码:
a = '我爱学习'
ls = [36,[36],[3,6],a]
print(ls[0:2],ls[-3:-2])
结果为:
[36, [36]] [[36]]
可以看到我们得到的还是列表,ls[0:2]表示获取的是索引号为0~2且不包含索引号为2的元素,ls[-3:-2] 表示获取的是索引号为 -3~ -2且不包含索引号为-1的元素。
二、嵌套列表的索引方法
嵌套列表就是列表中再嵌套列表,形成多层数据结构,如同二维表格。
访问嵌套元素需要多层索引逐级取值:先通过外层索引找到内层子列表,再使用内层索引获取具体元素。
正向、反向索引规则同样适用嵌套列表,既可以从头部正向查找,也能从尾部反向取值,操作灵活。
演示代码:
a = '我爱学习'
ls = [36,[3,6,'holle world!'],a]
print(ls[1][2][6])
结果为:
w
我们想要看懂嵌套列表可以分步进行
第一步:拆解列表 ls 结构
ls = [
36, # 索引 0
[3,6,'holle world!'], # 索引 1(这是一个嵌套列表)
'我爱学习' # 索引 2
]
第二步:逐层解析索引
- ls[1]
取列表第 1 号元素 → 得到子列表:
[3, 6, ‘holle world!’] - ls[1][2]
在子列表里取第 2 号元素 → 得到字符串:
‘holle world!’ - ls[1][2][6]
在字符串里取第 6 号字符
字符串索引从 0 开始数:
h o l l e w o r l d !
0 1 2 3 4 5 6 7 8 9 10 11
第 6 位是:w
需要注意的是空格也会占据一个索引号。
三、列表类型的方法
列表类型的使用方法有很多,可以概括为增·添·删·改,但是我们常用的几种方法一定要掌握,我们首先通过输入
print(dir(list))
来获取,同理字典的方法也可以通过这种方式来获取,只需要将list替换成dict。
1.append(参数)方法
功能:在列表的最后添加一个元素
演示代码:
ls = ['汽车','火车','邮轮','飞机']
ls.append('游艇')
print(ls)
代码执行结果:
['汽车', '火车', '邮轮', '飞机', '游艇']
2.clear()方法
功能:清除列表中的元素,括号中不需要填入任何参数
演示代码:
ls = ['汽车','火车','邮轮','飞机']
ls.clear()
print(ls)
代码执行结果:
[]
3.copy()方法
功能:复制一个新的列表
演示代码:
ls = ['汽车','火车','邮轮','飞机']
ls_new1 = ls.copy()
ls.clear()
print(ls)
print(ls_new1)
代码执行结果:
[]
['汽车', '火车', '邮轮', '飞机']
我们可以看到通过copy()方法得到的新列表和旧列表是两个独立的列表,互不影响。
4.count(参数)方法
功能:统计列表中的参数的个数
演示代码:
ls = ['汽车','火车','邮轮','飞机','火车','火车']
ls_count = ls.count('火车')
print(ls_count)
代码执行结果:
3
5.index(参数)方法
功能:获取元素在列表中的索引号
演示代码:
ls = ['汽车','火车','邮轮','飞机']
ls_index = ls.index('火车')
print(ls_index)
代码执行结果:
1
6.pop(参数)方法
功能:删除列表中索引号为参数的元素
演示代码:
ls = ['汽车','火车','邮轮','飞机']
ls_pop = ls.pop(1)
print(ls_pop)
代码执行结果:
火车
7.sort(参数)方法
功能:对列表进行原地排序(直接修改原列表,不创建新列表),默认按升序排列。
我们先演示升序排列
演示代码:
nums = [3, 1, 4, 2]
nums.sort()
print(nums)
代码执行结果:
[1, 2, 3, 4]
可以看到没有填入参数的时候,函数默认升序排列,也可以填入
reverse=False,表示升序排列。
接下来演示降序排列
演示代码:
nums = [3, 1, 4, 2]
nums.sort(reverse=True) # 降序
print(nums)
代码执行结果:
[4, 3, 2, 1]
可以看到,当参数为reverse=True时,列表进行了降序排列。对之后使用列表提供了便利。
更多推荐



所有评论(0)