首页 > 编程语言 > 详细

Python之第三天的努力--列表,元组,range

时间:2020-06-01 20:55:17      阅读:44      评论:0      收藏:0      [点我收藏+]

1.列表

  • list

    • l1 = [123, ‘hhh‘, True, [1, 2, 3]]可承载任意数据类型,存储大量数据
    • Python常用的容器型数据类型。list列表 其他语言:Java:数组。
    • 列表是有序的,可索引,切片(步长)
  • 列表索引

    li = [100, ‘憨憨‘, True, [1, 2, 3]]
    # 索引
    print(li[0],type(li[0]))
    print(li[1],type(li[1]))
    print(li[3],type(li[3]))
    
    # li = [1,3,2,‘a‘,4,‘b‘,5,‘c‘]
    # 通过对li列表切片形成新列表l1,l1 = [1,3,2]
    # 通过对li列表切片形成新列表l2,l2 = [‘a‘,4,‘b‘]
    # 通过对li列表切片形成新列表l3,l3 = [3,‘a‘,‘b‘]
    # 通过对li列表切片形成新列表l4,l4 = [‘b‘,‘a‘,‘3‘]
    li = [1, 3, 2, ‘a‘, 4, ‘b‘, 5, ‘c‘]
    l1 = li[:3]
    l2 = li[3:6]
    l3 = li[1:-2:2]
    l4 = li[-3:0:-2]
    print(l1)
    print(l2)
    print(l3)
    print(l4)
    

    技术分享图片

  • 列表的创建

    # 列表的创建
    # 方法一
    l1 = [1, 2, ‘hhh‘]
    
    # 方法二
    # l1 = list()
    # l1 = list(‘asdfghj‘)
    # print(l1)
    
    # 方法三: 列表推导式
    
  • 增删改查

    • # 增
      # append --->追加
      # l1.append(‘dd‘)
      # print(l1)
      # 不能打印print(l1.append(‘dd‘))
      
      # 例
      l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
      while 1:
          name = input(‘请输入新员工姓名:(输入V或v退出程序)‘)
          if name.upper() == ‘Q‘:
              break
          l1.append(name)
      print(l1)
      

      技术分享图片

      # insert 插入
      l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
      l1.insert(2,‘hhh‘)
      print(l1)
      

      技术分享图片

      # extend 迭代着追加
      l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
      l1.extend(‘abcd‘)
      print(l1)
      
      l2 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
      l2.extend([‘hhh‘,1])
      print(l2)
      

      技术分享图片

    • # pop 按照位置索引位置删除
      l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
      l1.pop(2)
      # print(l1.pop(2))    # ww   返回的是删除的元素
      print(l1)
      

      技术分享图片

      # remove   指定元素删除,如果有重名元素,默认删除从左数第一个
      l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘, ‘ww‘]
      l1.remove(‘ww‘)
      print(l1)
      

      技术分享图片

    # clear  清空
    l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
    l1.clear()
    print(l1)
    

    技术分享图片

    # del
    # 按照索引删
    l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
    # del l1[-1]
    # print(l1)
    # 按照切片删除
    del l1[::2]
    print(l1)
    

    技术分享图片

    • # 按照索引改
      l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
      l1[0] = ‘hhh‘
      print(l1)
      

      技术分享图片

      # 按照切片改
      l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
      l1[2:] = ‘asdfg‘
      print(l1)
      

      技术分享图片

      # 按照切片步长改   必须一一对应
      l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
      l1[::2] = ‘abc‘
      print(l1)
      

      技术分享图片

    • # 索引,切片(步长)
      l1 = [‘zs‘, ‘ls‘, ‘ww‘, ‘zl‘, ‘kk‘ ]
      for i in l1:
          print(i)
      

      技术分享图片

  • 列表的嵌套

    l1 = [1, 2, ‘zs‘, [1, ‘ls‘, 3,]]
    # 1.将l1中的‘zs‘变成大写并放回原处。
    # 2.给小列表[1, ‘ls‘, 3,]追加一个元素‘ww‘
    # 3.将列表中的‘ls‘通过字符串拼接的方式在列表中变成‘lssl‘
    l1[2] = l1[2].upper()
    print(l1)
    l1[-1].append(‘ww‘)
    print(l1)
    # new_s = l1[-1][1] + ‘sl‘
    # l1[-1][1] = new_s
    l1[-1][1] += ‘sl‘
    print(l1)
    

    技术分享图片

    例:

    lis = [2, 30, ‘k‘, [‘qwe‘, 20, [‘kl‘, [‘tt‘, 3, ‘l‘]], 89], ‘ab‘, ‘adv‘]
    # 将列表lis中的‘tt‘变成大写
    # 将列表中的数字3变成字符串‘100‘
    # 将列表中的字符串‘l‘变成数字101
    print(lis)
    lis[3][2][1][0] = lis[3][2][1][0].upper()
    print(lis)
    lis[3][2][1][1] = ‘100‘
    print(lis)
    lis[3][2][1][2] = 101
    print(lis)
    

    技术分享图片

2.元组

  • 只读列表。存大量数据,可以索引,切片(步长),(100, ‘憨憨‘, True, [1, 2, 3])

  • 只能读。

  • tu = (100, ‘憨憨‘, True, [1, 2, 3])
    print(tu[0])
    print(tu[:3])
    print(‘\n‘)
    
    # 查看
    for i in tu:
        print(i)
    print(‘\n‘)
    
    # 元素个数
    print(len(tu))
    print(‘\n‘)
    
    tu[-1].append(666)
    print(tu)
    

    技术分享图片

  • # 应用:
    # 重要数据:不想让别人改动的数据,存在元组里
    # 元组的拆包。分别赋值
    a,b = (1,2)    # 多一个少一个都不行
    print(a,b)
    

3.range:类似于列表,自定制数字范围的数字列表

  • r = range(10)
    print(r)
    print(‘\n‘)
    # 顾头不顾腚
    
    for i in r:
        print(i)
    print(‘\n‘)
    # 索引
    print(r[1])
    print(‘\n‘)
    

    技术分享图片

  • 与for循环结合

    # 打印0~100
    # for i in range(0,101):
    #     print(i)
    
    # 打印0~100中的偶数
    # for i in range(2,101,2):
    #     print(i)
    
    # 倒序打印1~100
    # for i in range(100,0,-1):
    #     print(i)
    
    l1 = [1, 2, 3, ‘hhh‘, ‘憨憨‘]
    # 利用for循环,利用range将l1列表的所有索引依次打印出来
    for i in range(len(l1)):
        print(i)
    

    技术分享图片

Python之第三天的努力--列表,元组,range

原文:https://www.cnblogs.com/szheng/p/13027308.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!