2021-4-30增删改-课程总结

本文详细介绍了Python列表的四种基本操作:添加元素(append和insert)、删除元素(del和remove)、修改元素及获取元素(pop)。通过实例展示了如何在列表中添加、删除、修改和查找元素,对于初学者理解Python列表操作非常有帮助。

1.增 - 添加元素

1)列表.append(元素) - 在列表的最后添加指定元素

tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '请回答1988']
print(tvs)
tvs.append('生活大爆炸')
print(tvs)

练习:用一个列表保存100以内所有能被3整除数

nums = []
for x in range(0, 100, 3):
    nums.append(x)
print(nums)

2)列表.insert(下标, 元素) - 在列表的指定下标所在的位置前插入指定元素

tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '请回答1988']
tvs.insert(1, '人民的名义')
print(tvs)

练习:已经一个列表scores按分数从高到低保存了一个班学生的分数,请输入一个新的分数,将新的分数插入到scores中,并且保证插入后不影响

scores是从大到小排序的。

num = 97
scores = [98, 93, 91, 87, 83, 80, 77, 70, 65, 62, 56]
for index in range(len(scores)):
    if scores[index] < num:
        scores.insert(index, num)
        break
else:
    scores.append(num)

print(scores)

"""
num = 97
scores = [98, 93, 91, 87, 83, 80, 77, 70, 65, 62, 56]
index -> range(11)
index = 0: if scores[0] < 97 -> if 98 < 97
index = 1: if scores[1] < 97 -> if 93 < 97 -> scores.insert(1, 97) -> scores = [98, 97,93, 91, 87, 83, 80, 77, 70, 65, 62, 56] ->break
循环结束
print(scores)  -> [98, 97,93, 91, 87, 83, 80, 77, 70, 65, 62, 56]
"""

2. 删 - 删除列表中的元素

1) del 列表[下标] - 删除列表中指定下标对应的元素

tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '请回答1988']
del tvs[1]
print(tvs)      # ['回家的诱惑', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '请回答1988']

del tvs[-1]
print(tvs)      # ['回家的诱惑', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑']

# 注意:下标不能越界
# del  tvs[6]     # IndexError: list assignment index out of range

2)列表.remove(元素) - 删除列表中指定元素

如果需要删除的元素在列表中有多个,只删最前面那一个

如果需要删除的元素不存在,程序会报错

tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '琅琊榜', '请回答1988', '琅琊榜']
tvs.remove('非自然死亡')
print(tvs)    # ['回家的诱惑', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '琅琊榜', '请回答1988', '琅琊榜']

tvs.remove('琅琊榜')
print(tvs)    # ['回家的诱惑', '我的兄弟叫顺溜', '甄嬛传', '亮剑', '琅琊榜', '请回答1988', '琅琊榜']

# tvs.remove('吸血鬼日记')     # ValueError: list.remove(x): x not in list

练习:删除tvs中最后一个’琅琊榜’

tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '琅琊榜', '请回答1988', '琅琊榜']
for index in range(-1, -len(tvs)-1, -1):
    if tvs[index] == '琅琊榜':
        del tvs[index]
        break
print(tvs)      # ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '琅琊榜', '请回答1988']

3)

列表.pop() - 取出列表最后一个元素, 并且返回

列表.pop(下标) - 取出列表中指定下标对应的元素, 并且返回

tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '请回答1988']
res1 = tvs.pop()
print(tvs)      # ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑']

res2 = tvs.pop(1)
print(tvs)      # ['回家的诱惑', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑']

print(res1, res2)

3. 改: 列表[下标] = 新值 - 修改列表中指定下标对应的元素

tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '请回答1988']
tvs[0] = '行尸走肉'
print(tvs)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值