Day6-列表

Day6-列表

1.完整的循环

  • 1.语法

    for 变量 in 序列:

    ​ 循环体

    else:

    ​ 代码段

    while 条件:

    ​ 循环体

    else:

    ​ 代码段

  • 说明

    else的存在并不影响原来循环的执行,如果循环自然死亡,循环结束后执行else;如果循环是遇到break结束,那么else后面的代码就不会执行

2.认识列表

  • 1.什么是列表

    • 列表是python中同期型数据类型,类型名(list)

    • 将[]作为类型的标志,里面多个数据用逗号隔开[数据1,数据2,数据…]

    • 列表的特点

      • 可变性—个数可变、值可变、顺序可变,支持增删改查操作

      • 有序性----列表是有序的,支持下标操作

      • 任何类型的数据都可以是列表的元素,同一个列表中的元素类型可以不相同

      • len(列表)-------------获取类表中元素的个数

        list2=['小明',1,False,0.3]
        len(list2)
        
  • 2.空列表

    list1=[]
    print(type(list1),len(list1))
    

3.查操作

  • 1.查列表

    • a.语法

      列表[下标]------------获取下标对应的元素

    • b.说明

      列表----任何结果是列表的表达式,一般是保存列表的变量或者是具体某一个列表

      []---------固定写法

      下标-----下标又叫索引,下标是列表中元素的位置信息;列表中的每个元素都有两个下标值,分别是:从前往后数从0开始不断增加的下标值,从后往前从-1开始不断减小的下标值

      moives=['小森林','复联3','肖申克的救赎','蜘蛛侠','忍者神龟','泰坦尼克号','阿凡达']
      print(moives[-5])
      print(moives[-1])
      
  • 2.遍历------一个一个的将列表中的元素全部取一遍

    • 语法

      方法1:for 变量 in 列表:

      ​ 循环体(列表[下标])

      for x in moives:
          print(x)
      

      方法2:通过遍历下标来遍历列表

      ​ for 变量 in rang(列表):

      ​ 循环体(列表[下标])

      for x in range(len(moives)) :
          print(x,moives[x])
      

      ​ x=0

      ​ while x<len(列表):

      ​ 循环体(列表[下标])

      ​ x+=1

      x=0
      while x<len(moives):
          print(x,moives[x])
          x+=1
      

      方法2:同时获取下标和元素

      ​ for 下标、变量 in enumerate(列表):

      ​ 循环体

      for a,b in enumerate(moives):
          print(a,b)
      
      
  • 3.切片----------获取部分元素

    • 1.语法

      列表[开始下标:结束下标:步长]

      开始下标:结束下标-----确定切片有限范围(PS:开始下标取得到,结束下标取不到)

      步长------------------------确定获取方式 a.正负决定从前往后还是从后往前

      ​ b.绝对值大小决定是一个一个取还是跳着取

    • 2.如何看切片结果

      第一步:看确定结果是否为空(从开始下标到结束下标对应的方向和步长对应的方向是否一致,如果不一致,结果直接为[])

      第二步:确定有限范围,开始下标取得到,结束下标取不到

      第三步:根据步长在有限范围内获取元素

      ​ 绝对值为1:一个一个的取

      ​ 绝对值为2:取一个跳一个再取

      ​ 绝对值为3:取一个跳二个再取

    • 3.通过目标来写切片

      第一步:确定开始下标(将目标数据中第一个元素对应的下标,作为开始下标)

      第二步:确定步长(根据获取的方向确定正负,根据取的时候跳的方式确定绝对值)

      第三步:确定结束下标(如果步长为正,结束下标是取到的最后一个元素后面的那个元素的下标,如果为负,则为前一个)

      games = ['英雄联盟', '王者荣耀', '开心消消乐', '炉石传说', '部落冲突', '阴阳师', '刀塔', '原神', '绝地求生']
      print(games[1:-3:-2])    #[]
      print(games[-4:-1:-1])    #[]
      print(games[-6:0:2])    #[]
      print(games[-7:-2:3])    #'开心消消乐','阴阳师'
      print(games[2:8:3])    #'开心消消乐','阴阳师'
      print(games[3:-1:-2])    #[]
      
    • 4.切片的省略语法

      1)省略步长:列表[开始下标:结束下标] -------- 相当于步长为1
      2)省略开始下标:列表[:结束下标:步长]--------表示从头开始(头可能是第一个也可能是最后一个,看步长正负)
      3)省略结束下标:列表[开始下标::步长]---------从开始的位置一直取完,看步长正负
      4)省略步长和开始 列表[开始下标:] --------- 步长为正一,从前往后挨个取到最后
      5)省略步长和结束 列表[:结束下标]--------- 步长为正一,从前往后挨个取到最后
      6)省略开始和结束 列表[::]--------------------步长为正一,从前往后挨个取到最后

4.列表的增、删、改

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

    • 1)列表.append(元素)------------在列表最后添加元素

      list1[10,20]
      list1.append(100)
      print(list1)
      
      # 案例:获取score中所有不及格的分数,以列表形式反应
      scores = [78, 19, 80, 92, 99, 45, 67, 87, 49]
      new_sores=[]
      for x in scores:
          if x<60:
              new_sores.append(x)
      
    • 2)列表.insert(下标,元素)---------将指定元素放到指定下标下

      list1[10,20]
      list1.insert(0,100)
      print(list1)
      
  • 2.删

    • 1)del 列表[下标]---------删除定制下标对应的元素(下标不能越界)

      scores = [78, 19, 80, 92, 99, 45, 67, 87, 49]
      del scores[-1]
      print(scores)
      
    • 2)列表.remove(元素)-------删除指定元素,若对应的元素在列表中有多个,值删除最前面的一个

      scores.remove(87)
      print(scores)
      
    • 列表.pop(下标)--------------取出列表中指定下标对应的元素,元素只是从序列中移除,并没有被删除。常用法x=列表.pop(下标)

      x=scores.pop(0)
      print(x)
      
    • 列表.pop()----------------------取出最后一个元素

  • 3.改-------------修改某个元素的值

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

    scores[0]=11
    print(scores)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值