我是靠谱客的博主 秀丽睫毛,最近开发中收集的这篇文章主要介绍列表和其相关操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Day 6 - 列表 part II

  1. 增 - 在列表中增加元素

    1. append

      List.append(元素) - 在列表的最后添加指定的元素(不会产生新的数据,是直接修改的原列表)

      names = ['路飞', '佐罗', '罗宾']
      names.append('娜美')
      names.append('乔巴')
      
    2. Insert

      List.insert(下标,元素) - 在列表指定下标前插入指定的元素

      names.insert(1, '乌索普')
      print(names)
      names.insert(0, '山治')
      print(names)
      
    3. extend

      List. extend(序列) - 将序列中的所有元素添加到列表的最后

      序列是容器型数据类型,不是数字

      sports = ['篮球', '足球', '乒乓球']
      sports.extend(['羽毛球', '排球'])
      print(sports)
      
      # 练习:给一个分数列表:[90, 56, 78, 89, 45, 60, 32, 100] 在低于60分前加0
      scores = [90, 56, 78, 89, 45, 60, 32, 100]
      new_scores = scores[:]
      index = 0  # scores中元素的下标
      for item in new_scores:
          print(index, item)
          if item < 60:
              scores.insert(index+1, 0)
              index += 1  # 如果插入了一个0,index还要加1
              print('+0 index:', index)
              print(scores)
          index += 1
      print(scores)
      
  2. 删 - 删除元素

    1. del

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

      names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王']
      del names[2]  # ['后羿', '王昭君', '百里守约']
      print(names)  # ['后羿', '王昭君', '百里守约', '鲁班七号']
      
      del names[-3]
      print(names)  # ['后羿', '百里守约', '鲁班七号']
      
    2. Remove - 删除列表中指定元素(如果元素不存在会报错:如果元素有多个,只会删最前面的一个)

      # 列表.remove(元素) - 删除列表中指定元素
      names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王']
      names.remove('伽罗')
      print(names)
      
      names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王']
      
    3. pop

      列表.pop() - 取出列表中的最后一个元素

      列表.pop(下标) - 取出列表中指定下标对应的元素,返回的数据就是取出来的元素

      del_name = names.pop()
      print(names, del_name)
      
    4. clear

      列表.clear() - 删除列表中所有的元素

      names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王']
      names.clear()  # 效率比赋值为[]要高
      print(names)  # []
      
      names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王']
      names = []
      
      # 练习: 删除scores中所有低于60的分数
      scores = [90, 56, 40, 67, 92, 89, 59]
      new_scores = scores[:]
      
      for item in new_scores:
          if item < 60:
              scores.remove(item)
      print(scores)
      

python中用一个变量直接给另一个变量赋值,赋的是变量保存的地址

  1. 改 - 修改列表元素的值

    列表[下标] = 新元素 - 将列表指定下标对应的元素修改成新的元素

    movies = ['恐怖游轮', '致命id', '忍者神龟', '赌神', '雪国列车']
    movies[-2] = '盗梦空间'
    print(movies)
    
    # 练习:将scores中低于60分的成绩全部置零
    scores = [90, 56, 40, 67, 92, 89, 59]
    for x, item in enumerate(scores):
        if item < 60:
            scores[x] = 0
    print(scores)
    
  2. 列表的加法运算和乘法运算

列表1 + 列表2 - 将列表1和列表2合并产生一个新列表

列表 * N / N * 列表 - 列表中的元素重复N次产生一个新的列表(N是正整数)

list1 = [1, 2, 3] + [1, 2, 3]
print(list1)  # [1, 2, 3, 1, 2, 3]
list2 = [1, 2, 3] * 3
print(list2)  # [1, 2, 3, 1, 2, 3, 1, 2, 3]
# 加法和乘法运算不会修改原列表
list3 = ['hello', 'how']
list4 = list3 + ['are', 'you']
print(list3)  # ['hello', 'how']
  1. 比较运算

    # 1)==, !=
    print([10, 20, 30] == [20, 10, 30])  # False
    print([10, 20, 30] == [10, 20, 30])  # True
    
    # 2) >, <, >=, <=
    # 两个列表比较大小,比较的是第一对不相等的元素的大小(从前往后下标相同的元素为一对)
    print([100, 200, 300, 400] > [200, 100])  # False
    print([100, 200, 300, 400] > [100, 50])  # True
    print([10, 20, 30, 3] > [10, 20, 30])  # True
    
  2. In and not in

    # 元素 in 列表 - 判断指定的元素是否在指定列表中
    # 元素 not in 列表 - 判断指定元素是否不在指定列表中
    names = ['李白', '杜甫', '白居易', '辛弃疾']
    print('陶渊明' in names)  # False
    print('杜甫' in names)  # True
    
    # 练习:获取同时选择两门的学生的姓名
    pythons = ['小明', '张三', '小花', 'Bob']
    javas = ['李四', '小明', '王五', 'Bob']
    new_list = []
    for item in pythons:
        if item in javas:
            print(item)
            new_list.append(item)
    print(new_list)
    
  3. 系统提供的函数:max/min/sorted/sum/len/list/reverse

    # len(序列) - 获取序列中元素的个数
    pythons = ['小明', '张三', '小花', 'bob', 'tom']
    print(len(pythons))
    
    # max(序列)/min(序列) - 求序列中元素的最大值/最小值
    scores = [89, 78, 56, 90, 87, 96, 45, 67]
    print(max(scores))  # 96
    print(min(scores))  # 45
    
    # sorted(序列) - 对序列中的元素从小到大排序,产生一个新的列表(不会修改原序列)
    new_scores = sorted(scores)
    print(new_scores)  # [45, 56, 67, 78, 87, 89, 90, 96]
    
    # sorted(序列,reverse = True) - 对序列中的元素从大到小排序,产生一个新的列表(不会修改原序列)
    new_scores = sorted(scores, reverse=True)
    print(new_scores)  # [96, 90, 89, 87, 78, 67, 56, 45]
    
    # sum(序列) - 求序列中所有元素的和(序列中的元素必须都是数字)
    sum1 = sum(scores)
    print('和:', sum1)
    print('平均分', sum(scores)/len(scores))
    print(sum(range(101)))
    

list(序列) - 将指定的序列转换成列表

# 1)所有的序列都可以转换成列表 2)将序列中的元素变成列表中的元素
print(list('abc'))  # ['a', 'b', 'c']
print(list(range(4)))  # [0, 1, 2, 3]
  1. 列表相关的方法

    1. 列表.copy() - 复制原列表产生一个一模一样的新列表(相当于 列表[:]; 浅拷贝)

      nums = [10, 20, 30]
      num1 = nums
      num2 = nums.copy()
      print(num1, num2)
      
      nums.remove(20)
      print('num1:', num1)
      print('num2:', num2)
      
    2. 列表.count(元素) - 统计列表中指定元素的个数

      foods = ['大闸蟹', '小龙虾', '花甲', '包子', '油条', '小龙虾', '包子', '小龙虾']
      print(foods.count('小龙虾'))
      print(foods.count('包子'))
      
    3. 列表.index(元素) - 获取指定元素的下标(如果有多个元素存在,返回第一个。如果元素不存在会报错)

      foods = ['大闸蟹', '小龙虾', '花甲', '包子', '油条', '小龙虾', '包子', '小龙虾']
      print(foods.index('花甲'))  # 2
      print(foods.index('小龙虾'))  # 1
      
    4. 列表.reverse() - 将指定列表逆序

      foods = ['大闸蟹', '小龙虾', '花甲', '包子', '油条', '小龙虾', '包子', '小龙虾']
      foods.reverse()
      print(foods)
      
    5. 列表.sort() - 将列表中的元素从小到大排序(不会产生新的列表)

    # 列表.sort(reverse = True) - 将列表中的元素从大到小排序(不会产生新的列表)
    ages = [50, 89, 23, 34, 18, 25]
    ages.sort() # [18, 23, 25, 34, 50, 89]
    ages.sort(reverse=True)
    print(ages)  # [89, 50, 34, 25, 23, 18]
    

最后

以上就是秀丽睫毛为你收集整理的列表和其相关操作的全部内容,希望文章能够帮你解决列表和其相关操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部