一.增
1)列表.append(元素)
- 指定列表的最后添加指定的元素
games = ['王者荣耀', '英雄联盟', '和平精英', '原神']
print(games)
games.append('开心消消乐')
print(games)
案例1:提取scores中所有不低于80分的成绩
scores = [89, 78, 99, 34, 67, 77, 80, 82, 85, 90, 55]
# [89, 99, 80, 82, 85, 90]
scores1 = []
for x in range(len(scores)):
if scores[x] >= 80:
scores1.append(scores[x])
print(scores1)
案例2:将scores中所有低于60分的成绩变成’补考‘
scores = [89, 78, 99, 34, 67, 77, 80, 82, 85, 90, 55]
scores2 = []
# [89, 78, 99, '补考', 67, 77, 80, 82, 85, 90, '补考']
for x in range(len(scores)):
if scores[x] < 60:
scores2.append('补考')
else:
scores2.append(scores[x])
print(scores2)
2)列表.insert(下标,元素)
- 将指定的元素插入到指定下标的元素前
games = ['王者荣耀', '英雄联盟', '和平精英', '原神']
print(games)
games.insert(1, '开心消消乐')
print(games)
二.删
1)del 列表[下标]
- 删除列表指定下标对应的元素
tvs = ['亮剑', '甄嬛传', '如懿传', '爱情公寓', '知否', '康熙王朝', '三国演义', '流星花园', '武林外传']
print(tvs)
del tvs[3]
print(tvs)
del tvs[4]
print(tvs)
2)列表.remove(元素)
- 删除列表中的指定元素(如果元素不存在会报错,如果元素有多个,则删除最前面的元素)
tvs = ['亮剑', '甄嬛传', '如懿传', '爱情公寓', '知否', '康熙王朝', '三国演义', '流星花园', '武林外传']
print(tvs)
tvs.remove('爱情公寓')
print(tvs)
3)
a.列表.pop()
- 取出列表最后一个元素并返回
b.列表.pop(下标)
- 取出列表中指定对应下标的元素并返回
tvs = ['亮剑', '甄嬛传', '如懿传', '爱情公寓', '知否', '康熙王朝', '三国演义', '流星花园', '武林外传']
print(tvs)
result = tvs.pop()
print(tvs, result)
三.改
1.列表[下标] = 数据
- 将列表中指定下标的元素改为指定的数据
tvs = ['亮剑', '甄嬛传', '如懿传', '爱情公寓', '知否', '康熙王朝', '三国演义', '流星花园', '武林外传']
print(tvs)
tvs[2] = '海贼王'
print(tvs)
四.查
1.查单个
- 列表[索引] - 获取指定索引对应的元素
2.切片
- 一次获取列表中的多个元素
1)完整语法
'''
1)完整语法:
列表[开始下标:结束下标:步长]
2)怎么确定切片的结果
第一步:看切片的结果是否为空(从开始下标到结束下标的方向和步长对应的方向是否一致,不一致结果肯定为空)
第二步:确定有效范围(开始下标的位置能取到,结束下标对应的元素取不到)
第三步:在有效范围安装步长来获取元素。
步长的正负:步长为正在有效范围内从前往后取,步长为负在有效的范围内从后往前取
步长的绝对值:绝对值为1,就一个一个取;绝对值为2,隔一个取一个
3)切片的代码怎么写
确定开始下标的值:需要获取的结果中的第一个元素对应的下标
确定结束下标的值:需要获取的结果中的最后一个元素的后面那个元素或者前面那个元素的下标(看获取方向)
确定步长:确定方向(从前往后取步长为正,否则为负)和绝对值(一个一个取绝对值为1)
'''
如何确定切片的结果
movies = ['筑梦演艺圈', '上海堡垒', '鲨卷风', '无名之辈', '十面埋伏', '蜘蛛侠-纵横宇宙', '消失的她']
print(movies[1:4:2]) # ['上海堡垒', '无名之辈']
print(movies[-1:2:1]) # []
print(movies[0:-2:-1]) # []
print(movies[-1:1:-2]) # ['消失的她', '十面埋伏', '鲨卷风']
print('------------------------SAN石-------------------------')
print(movies[-5:-1:1]) # '鲨卷风', '无名之辈', '十面埋伏', '蜘蛛侠-纵横宇宙'
print(movies[0:-2:3]) # '筑梦演艺圈', '无名之辈'
print(movies[-2:1:-1]) # '蜘蛛侠-纵横宇宙', '十面埋伏', '无名之辈', '鲨卷风'
print(movies[2:-2:-2]) # []
print(movies[1:-1:4]) # '上海堡垒', '蜘蛛侠-纵横宇宙'
print('------------------------SAN石-------------------------')
切片的代码怎么写
'上海堡垒', '鲨卷风', '无名之辈', '十面埋伏', '蜘蛛侠-纵横宇宙'
print(movies[1:-1:1])
# '蜘蛛侠-纵横宇宙', '十面埋伏', '无名之辈', '鲨卷风'
print(movies[-2:1:-1])
# '上海堡垒', '十面埋伏'
print(movies[1:-2:3])
# '消失的她', '十面埋伏', '鲨卷风'
print(movies[-1:1:-2])
2)切片的省略写法
'''
a.省略步长 - 步长就是1
列表[开始下标:结束下标]
b.省略开始下标 - 从头开始取(头可能是第一个元素,也可能是最后一个元素,由步长决定)
列表[:结束下标:步长]
c.省略结束下标 - 从开始下标开始一直到最后一个元素或者第一个元素(步长正负决定)
列表[开始下标::步长]
'''
省略步长
movies = ['筑梦演艺圈', '上海堡垒', '鲨卷风', '无名之辈', '十面埋伏', '蜘蛛侠-纵横宇宙', '消失的她']
print(movies[2:-2]) # ['鲨卷风', '无名之辈', '十面埋伏']
print(movies[-1:1]) # []
省略开始下标
print(movies[:3:1]) # ['筑梦演艺圈', '上海堡垒', '鲨卷风']
print(movies[:3:-2]) # ['消失的她', '十面埋伏']
省略结束下标
print(movies[2::2]) # ['鲨卷风','十面埋伏','消失的她']
print(movies[3::-1]) # ['无名之辈', '鲨卷风', '上海堡垒', '筑梦演艺圈']
print(movies[-3:]) # ['十面埋伏', '蜘蛛侠-纵横宇宙', '消失的她']
print(movies[::-2]) # ['消失的她', '十面埋伏', '鲨卷风', '筑梦演艺圈']
3.遍历
'''
方法1: 直接获取元素
for 变量 in 列表:
循环体(变量依次取到的就是列表中的每个元素)
方法2: 先获取每个元素的下标值,然后再根据下标获取元素
for 变量 in range(len(列表)):
循环体(变量依次取到的就是列表中的下标值)
方法3: 同时获取每个元素和元素的下标
for 变量1,变量2 in enumerate(列表):
循环体(变量1取到的是下标,变量2渠道的是元素)
'''
a.直接获取元素
tvs = ['亮剑', '甄嬛传', '如懿传', '爱情公寓', '知否', '康熙王朝', '三国演义', '流星花园', '武林外传']
for x in tvs:
print(x)
b.先获取每个元素的下标值,然后再根据下标获取元素
# 0 1 2 3 4 5 6 7 8
for index in range(len(tvs)):
print(index, tvs[index])
print('------------------------SAN石-------------------------')
# 8 7 6 5 4 3 2 1 0
for index in range(len(tvs)-1, -1, -1):
print(index, tvs[index])
c.同时获取每个元素和元素的下标
for index, item in enumerate(tvs):
print(index, item)