➢列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
➢列表是写在方括号[]之间、用逗号分隔开的元素列表。
➢列表索引值以0为开始值, -1为从末尾的开始位置。
➢列表可以使用+操作符进行拼接,使用*表示重复。
1 列表的定义与访问
列表的格式
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
比C语言的数组强大的地方在于列表中的元素可以是不同类型的
testList = [1, 'a']
打印列表
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
print(namesList[0])
print(namesList[1])
print(namesList[2])
列表的循环遍历
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
for name in namesList:
print(name)
2、常用操作 (增删改查)
2.1、增加append:新增数据到列表 尾部
namelist = ["小王","小李","小张"]
print("---增加前,名单列表的数据---")
for name in namelist:
print(name)
nametemp = input("请输入添加的数据:")
#增加
namelist.append(nametemp) #在末尾增加一个元素
print("---增加后,名单列表的数据---")
for name in namelist:
print(name)
2.2、增加extend:列表的追加
a = [1,2]
b = [3,4]
a.append(b) #将列表当作一个元素加入到a列表中
print(a)
a.extend(b) #把b列表里面的元素逐一的添加到a列表中
print(a)
2.3、增加insert:列表数据插入
a = [0,1,2]
a.insert(1,3) #在第一个位置添加数据3 指定下标位置插入数据
print(a)
2.4、删除del:通过索引删除指定位置的元素
movieName = ["加勒比海盗","幽灵公主","天空之城","千与千寻","天空之城"]
print("---删除前,电影列表的数据---")
for name in movieName:
print(name)
#指定位置删除数据
del movieName[1]
print("---删除后,电影列表的数据---")
for name in movieName:
print(name)
2.5、删除pop:弹出列表尾部元素
movieName = ["加勒比海盗","幽灵公主","天空之城","千与千寻","天空之城"]
print("---删除前,电影列表的数据---")
for name in movieName:
print(name)
#弹出末尾的元素
movieName.pop()
print("---删除后,电影列表的数据---")
for name in movieName:
print(name)
2.6、删除remove:移除列表中指定值的第一个匹 配值。如果没找到的话,会抛异常
movieName = ["加勒比海盗","幽灵公主","天空之城","千与千寻","天空之城"]
print("---删除前,电影列表的数据---")
for name in movieName:
print(name)
#删除第一个找到的某个具体内容的元素
movieName.remove("天空之城")
print("---删除后,电影列表的数据---")
for name in movieName:
print(name)
2.7、通过下标原地修改
namelist = ["小王","小李","小张"]
print("---修改前,名单列表的数据---")
for name in namelist:
print(name)
#修改
namelist[1]="小红"
print("---修改后,名单列表的数据---")
for name in namelist:
print(name)
2.8、查找:列表成员关系in 、not in
namelist = ["小王","小李","小张"]
findName = input("请输入要查找的学生姓名:")
if findName in namelist:
print("在名单中")
else:
print("没有找到")
2.9、查找指定范围的元素,并返回找到对应元素的下标,找不到会报错
arr = ["a","b","c","d","e"]
print(arr.index("c",0,4)) #2 在0-4的范围内查找"c"
print(arr.count("a")) #统计a出现的次数
2.10、排序
arr = [1,4,2,3]
print(arr)
arr.reverse() #反转
print(arr)
arr.sort() #升序排序
#arr.sort(reverse=True) #降序排序
print(arr)
2.11、嵌套
#schoolNames = [[],[],[]] #有三个元素的空列表
schoolName = [["西安","咸阳"],["北京"],["成都"],["重庆"]]
print(schoolName[0]) #['西安', '咸阳']
print(schoolName[0][0]) #西安