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

我是小政同学,跟小伙伴们分享技术,大家跟我一起学习吧!

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐