Python全栈-magedu-2018-笔记7

第三章 - Python 内置数据结构

线性结构

  • 线性结构

    • 可迭代 for ... in
    • len()可以获取长度
    • 通过下标可以访问
    • 可以切片
  • 学过的线性结构

    • 列表、元组、字符串、bytes、bytearray

切片

  • 切片
    • 通过索引区间访问线性结构的一段数据
    • sequence[start:stop] 表示返回[start, stop)区间的子序列
    • 支持负索引
    • start为0,可以省略
    • stop为末尾,可以省略
    • 超过上界(右边界),就取到末尾;超过下界(左边界),取到开头
    • start一定要在stop的左边
    • [:] 表示从头至尾,全部元素被取出,等效于copy()方法

切片

  • 切片举例
    'www.github.com'[4:10]
    'www.github.com'[:10]
    'www.github.com'[4:]
    'www.github.com'[:]
    'www.github.com'[:-1]
    'www.github.com'[4:-4]
    'www.github.com'[4:50]
    b'www.github.com'[-40:10]
    bytearray(b'www.github.com')[-4:10]
    tuple('www.github.com')[-10:10]
    list('www.github.com')[-10:-4]

  • 步长切片

    • [start:stop:step]
    • step为步长,可以正、负整数,默认是1
    • step要和start:stop同向,否则返回空序列
      'www.github.com'[4:10:2]
      list('www.github.com')[4:10:-2]
      tuple('www.github.com')[-10:-4:2]
      b'www.github.com'[-4:-10:2]
      bytearray(b'www.github.com')[-4:-10:-2]
  • 切片可以赋值
    arr = [ 'C', 'python', 'js', 'css', 'html', 'node']
    arr[2:4] = ['pc','wd']
    arr # ['C', 'python', 'pc', 'wd', 'html', 'node']

  • 切片可以插入和删除元素
    arr = ['C', 'python', 'js', 'css', 'html', 'node']
    arr[1:1] = ['pc','wd'] # [1:1]表示在1开始查找,但没有查找,所以是在索引1添加元素
    arr # ['C', 'pc', 'wd', 'python', 'js', 'css', 'html', 'node']
    arr[2:3] = [] # 删除索引2的元素
    arr # ['C', 'pc', 'python', 'js', 'css', 'html', 'node']

最后

本文的另外链接是:https://yindanny.github.io/python-magedu-2018-notes7.html

posted @ 2019-04-27 23:44  yindanny  阅读(191)  评论(0编辑  收藏  举报