【Python】数据容器之list列表
·
1、概述
List(列表),是Python中一个常用的容器类型,以[元素1,元素2...]的形式存储数据,list列表中可以存储如Number(数字)、Bool(布尔值)、Str(字符串)和容器其他类型的数据,并且list列表中的元素是有序的,每个元素通过下标去标识在列表中的位置。

列表中的元素可以通过下标去获取,并且可以修改列表中的值,下面我们来学习一下列表的知识吧~
2、列表的定义与获取列表值
列表的格式为 lis1 = [元素1,元素2,.....]
列表还可以进行嵌套,就是列表中还可以存储列表
#1、基本定义(包含各种数据类型)
list1 = ["妙蛙种子",False,"杰尼龟","小火龙",123,"皮卡丘",True]
print(type(list1)) #输出<class 'list'>
print(list1) #输出["妙蛙种子",False,"杰尼龟","小火龙",123,"皮卡丘",True]
#2、列表还可以存储列表类型的数据
list2 = ["妙蛙种子","小政同学",[1,2,3,"小白学Python就来小政同学!"]]
print(list2) #输出["妙蛙种子","小政同学",[1,2,3,"小白学Python就来小政同学!"]]
获取指定下标元素值
- 列表的没个元素都有对应下标,从左到右排列。
- 下标是从0开始,既下标为0的元素为列表第一个值。
- 列表的最后一位下标为-1,我们可以通过list[-1]去获取列表最后一个值
#定义一个列表
list2 = ["妙蛙种子","杰尼龟","小火龙","皮卡丘",[1,2,3,4,5]]
#获取嵌套的元素
#输出:['妙蛙种子', '杰尼龟', '小火龙', '皮卡丘', [1, 2, 3, 4, 5]]
print(list2)
#打印第一个元素 “妙蛙种子”
#输出:妙蛙种子
print(list2[0])
#打印最后一个内容
#输出:[1, 2, 3, 4, 5]
print(list2[-1])
#获取嵌套列表中的数据
print(list2[-1][2])
3、列表的常用方法
| 功能 | 方法 | 作用 |
|---|---|---|
| 查询 | index("元素值") | 返回指定元素在列表中的下标 |
| len(list变量) | 内置函数len返回列表中元素总个数 | |
| count("元素值") | 返回指定元素在列表中的个数 | |
| 增加 | insert(下标,"新元素值") | 在列表指定下标位置插入元素 |
| append("新元素值") | 在列表末尾追加元素 | |
| extend(列表2) | 将列表2的数据追加到列表1后面(合并) | |
| 删除 | del 列表变量[下标] | del关键字删除指定下标的元素 |
| pop(下标) | 取出指定下标元素,原列表中则会删除指定元素 | |
| remove("元素") | 移除匹配列表中第一个出现的指定元素 | |
| clear() | 清除列表中所有元素 | |
| 修改 | lis[下标] = 元素 | 修改指定下标的元素值 |
| sort() | 将列表中的元素进行排序 | |
| reverse() | 将列表元素反转,头变尾 |
(1)index获取指定元素下标
- 如果元素未在列表中存在的话,会报错(ValueError: '元素' is not in list)
list2 = ["妙蛙种子","杰尼龟","小火龙","皮卡丘",[1,2,3,4,5]]
#(1)index方法
print(list2.index("妙蛙种子"))
#输出:0(妙蛙种子的下标为0)
#index:获取指定元素在列表中的下标位置,元素不存在则提示ValueError: 'hello' is not in list报错
(2)内置方法len()返回元素个数
list3 = ["裂空座","固拉多","盖欧卡","超梦","固拉多","固拉多"]
#(10)len系统内置方法统计列表元素总个数
print(len(list3))
#输出长度为:6
(3)count方法统计列表指定元素的个数
list3 = ["裂空座","固拉多","盖欧卡","超梦","固拉多","固拉多"]
#(9)count方法统计列表中存在指定元素的个数
print(list3.count("固拉多"))
#结果为:3 ,列表中有3个固拉多元素
(4)insert方法在指定下标插入元素
list2 = ["妙蛙种子","杰尼龟","小火龙","皮卡丘"]
#(3)在指定下标位置插入元素
list2.insert(0,"胖丁")
print(f"插入了元素胖丁后的内容:{list2}")
#会在指定的下标位置插入一个元素,原来的值向后移
#输出:插入了元素胖丁后的内容:['胖丁', '妙蛙种子', '杰尼龟', '小火龙', '皮卡丘']
(5)append方法在列表后追加元素
list2 = ["妙蛙种子","杰尼龟","小火龙","皮卡丘",[1,2,3,4,5]]
#(4)append追加方法
list2.append("菊草叶")
print(list2)
#append追加的元素会被追加到列表的最后位置
#输出:['妙蛙种子', '杰尼龟', '小火龙', '皮卡丘', [1, 2, 3, 4, 5], '菊草叶']
(6)extend方法批量追加元素
list1 = ["妙蛙种子","杰尼龟","小火龙","皮卡丘",[1,2,3,4,5]]
list2 = ["星期天","星期五","星期六","星期天"]
#(5)extend方法批量追加元素
list1.extend(list2)
print(list1)
#此方法可以将追加的列表与当前列表合并,然后将后者的列表值按顺序加入到原列表
#输出:"妙蛙种子","杰尼龟","小火龙","皮卡丘",[1,2,3,4,5],"星期天","星期五","星期六","星期天"]
(7)del关键字删除指定下标元素
list2 = ["妙蛙种子","杰尼龟","小火龙","皮卡丘"]
#将下标为1的杰尼龟删掉
del list2[1]
print(list2)
#输出:['妙蛙种子',"小火龙","皮卡丘"]
(8)pop取出删除指定下标元素
- pop取出的元素,原列表会将其删除,取出的元素可以作为返回值赋值给变量
"""
#pop方法
#将指定下标元素删除后,将删除的元素作为返回值返回,可以使用变量接收,相当于把那个元素给拿出来了,列表中就没有那个元素了
"""
list2 = ["星期一","星期五","星期六","星期天"]
#取出星期六
msg2 = list2.pop(2)
print(list2)
#输出:["星期一","星期五","星期天"](星期六被取出后,列表中就没有他了 )
#这里是取出的值 “星期六”,用一个变量存储了
print(msg2)
#输出:星期六
(9)remove方法移除指定元素
list2 = ["妙蛙种子","星期天","小火龙","皮卡丘","杰尼龟","星期天"]
#remove方法可以删除从左到右找到的第一个指定元素,将其删除,后续再有就不进行删除了
list2.remove("星期天")
# 发现第一个星期天元素被删除了,第二个还在
print(list2)
#输出: ["妙蛙种子","小火龙","皮卡丘","杰尼龟","星期天"]
(9)clear清除列表所有元素
list1 = ["妙蛙种子",520,"皮卡丘",100,True]
#清除list1中所有元素
list1.clear()
print(list1)
#输出:[](此时列表内容已经被清空)
(10)list[下标] = 元素 格式修改列表中指定元素
list1 = ["妙蛙种子","杰尼龟","小火龙"]
#通过下标指定要修改的值
list1[1] = "皮卡丘"
print(list1)
#原来下标为1的值 “杰尼龟” 的值已经被修改为了 “皮卡丘”
#输出:["妙蛙种子","皮卡丘","小火龙"]
(11)sort方法对列表内容排序
list5 = [1,3,5,7,2,6,4]
#sort方法将列表元素进行排序,数字元素从小到大
list5.sort()
print(list5)
#输出:[1, 2, 3, 4, 5, 6, 7]
(12)reverse方法将列表元素翻转
list4 = [1,2,3,4,5,6,7]
#(11)reverse方法将列表元素逆序输出
list4.reverse()
print(list4)
#输出:[7, 6, 5, 4, 3, 2, 1](可以看到1.2.3比较开头的数字此时已经出现在了结尾)
#这是修改,将他们下标的值更换了
3、列表的遍历
列表中的数据,如果我们要想一个一个打印,则可以借助循环的力量。
就比如我们python中常用的while与for循环。
(1)while循环遍历列表
list3 = ["裂空座","固拉多","盖欧卡","超梦","固拉多","固拉多"]
i = 0
while i< len(list3):
#依次打印每一个元素
print(list3[i])
#每一次i+1
i += 1
"""
输出结果:
裂空座
固拉多
盖欧卡
超梦
固拉多
固拉多
"""
(2)for循环遍历列表
list3 = ["裂空座","固拉多","盖欧卡","超梦","固拉多","固拉多"]
for i in list3:
#依次输出列表中的内容
print(i)
"""
输出结果:
裂空座
固拉多
盖欧卡
超梦
固拉多
固拉多
"""
4、总结
列表的出现,极大地节省了我们创建多个变量存储数据的情况,并且列表的特点为有序、有下标、元素可重复、可存储任意类型等特征。
详细学习可参照以下地址
菜鸟教程:https://www.runoob.com/python3/python3-list.html
我是小政同学,跟小伙伴们分享技术,大家跟我一起学习吧!
更多推荐



所有评论(0)