day5

总结

1. 列表元素的增删改
  • 增 - 添加元素

    1. 列表.append(元素) - 在列表的最后添加指定元素
    tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '亮剑', '请回答1988']
    tvs.append('生活大爆炸')
    print(tvs)    # ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '亮剑', '请回答1988', '生活大爆炸']
    

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

    nums = []
    for x in range(0, 100, 3):
        nums.append(x)
    print(nums)
    # [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
    
    1. 列表.insert(下标, 元素) - 在列表的指定下标所在的位置前插入指定元素
    tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '亮剑', '请回答1988']
    tvs.insert(1, '人民的名义')
    print(tvs)  # ['回家的诱惑', '人民的名义', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '亮剑', '请回答1988']
    

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

    num = 89
    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)
    # [98, 93, 91, 89, 87, 83, 80, 77, 70, 65, 62, 56]
    
  • 删 - 删除列表中的元素

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

      注意: 下标不能越界

    tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '亮剑', '请回答1988']
    del tvs[1]    
    print(tvs)  # ['回家的诱惑', '我的兄弟叫顺溜', '琅琊榜', '亮剑', '请回答1988']
    del tvs[-1]
    print(tvs)  # ['回家的诱惑', '我的兄弟叫顺溜', '琅琊榜', '亮剑']
    
    1. 列表.remove - 删除指定元素

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

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

    tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '请回答1988','琅琊榜']
    tvs.remove('非自然死亡')
    print(tvs)  # ['回家的诱惑', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '请回答1988', '琅琊榜']
    tvs.remove('琅琊榜')
    print(tvs)  # ['回家的诱惑', '我的兄弟叫顺溜', '甄嬛传', '亮剑', '请回答1988', '琅琊榜']
    
    1. 列表.pop() - 取出列表最后一个元素, 并且返回 (取出,后面元素还需要就用pop)

      列表.pop(下标) - 取出列表中指定下标对应的元素

    tvs = ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑', '请回答1988']
    res1 = tvs.pop()
    print(tvs)  # ['回家的诱惑', '非自然死亡', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑']
    res2 = tvs.pop(1)
    print(tvs)  # ['回家的诱惑', '我的兄弟叫顺溜', '琅琊榜', '甄嬛传', '亮剑']
    print(res1, res2) # 请回答1988 非自然死亡
    
  • 改: 列表[下标] = 新值 - 修改列表中指定下标对应的元素

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

    练习: 删除scores中所有小于60分的成绩

    # 方法一
    scores = [87, 34, 50, 23, 78, 99, 45, 23, 76, 89, 30]
    temp = scores[:]   # scores[:] - 创建一个新的列表, 新列表的元素和scores一模一样
    for x in temp:     # 遍历备份列表,删除的原列表里面的元素
        if x < 60:
            scores.remove(x)
    print(scores)  # [87, 78, 99, 76, 89]
    
    # 方法二
    scores = [87, 34, 50, 23, 78, 99, 45, 23, 76, 89, 30]
    index = 0
    while True:
        if scores[index] >= 60:
            index += 1
        else:
            del scores[index]
        if index >= len(scores):
            break
    print(scores)  # [87, 78, 99, 76, 89]
    
    # 方法三
    scores = [87, 34, 50, 23, 78, 99, 45, 23, 76, 89, 30]
    new_scores = []
    for x in scores:
        if x >= 60:
            new_scores.append(x)
    print(new_scores)  # [87, 78, 99, 76, 89]
    

    补充: 如果直接用一个列表变量给另外一个变量赋值,赋的是原变量中数据的地址

2. 列表相关操作
  • 加法和乘法运算

    1. 列表1 + 列表2 - 将两个列表合并产生一个新的列表
    list1 = [10, 20, 30,] + ['abc', 123]
    print(list1)    # [10, 20, 30, 'abc', 123]
    
    1. 列表 * N - 列表中的元素重复N次产生一个新的列表
    list2 = [10, 20, 30] * 3
    print(list2)    # [10, 20, 30, 10, 20, 30, 10, 20, 30]
    
  • in 和 not in

    1. 元素 in 列表 - 判断列表中是否存在指定元素
    2. 元素 not in 列表 - 判断列表中是否不存在指定元素
    print(10 in [10, 20, 30])       # True
    print([10, 20] in [10, 20, 30])     # False
    print([10, 20] in [[10, 20], 30])      # True
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值