• Python3基础10——切片(str和list)


    切片的语法表达式为:[start_index : end_index : step]

    start_index表示起始索引,end_index表示结束索引,step表示步长,步长不能为0,且默认值为1

    切片操作是指按照步长,截取从起始索引到结束索引,但不包含结束索引(也就是结束索引减1)的所有元素。

    python也提供slice函数实现切片对象,主要用在切片操作函数里的参数传递:[slice(start, stop, step)]

    切片不会改变原对象,而是重新生成了一个新的对象

     1 >>> C = ['A','B','C','D','E','F']
     2 >>> C[0:4:1]         # list的切片
     3 ['A', 'B', 'C', 'D']
     4 >>> C[slice(1,4,1)]  # 切片函数slice()
     5 ['B', 'C', 'D']
     6 >>> C = "ABCDEF"
     7 >>> C[0:4:1]         # str的切片(同list)
     8 "ABCD"
     9 >>> C[slice(1,5,2)]
    10 "BD"

    省略start_index,保留end_index,这样会从第一个元素开始,切到end_index - 1的元素为止

    1 >>> C[:5]
    2 ['A', 'B', 'C', 'D', 'E']

    保留start_index,但省略end_index,这样会从起始索引开始,切到最后一个元素为止:

    1 >>> C[2:]
    2 ['C', 'D', 'E', 'F']

    省略start_indexend_indexstep,这样就表示就表示切片整个序列,也就是复制出了一个新的序列:

    1 >>> C[:]
    2 ['A', 'B', 'C', 'D', 'E', 'F']

    省略start_indexend_index,但保留step,表示对整个序列,按照步长整除的规则取值:

    1 >>> C[::2]
    2 ['A', 'C', 'E']

    此时,如果我们将步长设为-1,那么就可以很方便的得到一个反序的序列了:

    1 >>> C[::-1]
    2 ['F', 'E', 'D', 'C', 'B', 'A']

    只要起始值start_index到结束值end_index在step方向中间有值,就有返回值:

     1 C = ['A','B','C','D','E','F']
     2 # 下面这四种表达式是等价的:
     3 >>> C[0:3]
     4 ['A', 'B', 'C']
     5 >>> C[0:-3]
     6 ['A', 'B', 'C']
     7 >>> C[-6:3]
     8 ['A', 'B', 'C']
     9 >>> C[-6:-3]
    10 ['A', 'B', 'C']

    解释:c[0:-3]等价于c[A:D:1],c[-6:3]等价于c[0:3:1]

    切片时,一定要保证start_indexend_index的方向与步长step的方向同向,否则会切出空的序列:

    1 >>> C[0:3:-1]
    2 []
    3 >>> C[3:0:1]
    4 []



  • 相关阅读:
    oracle 在C# 中调用oracle的数据库时,出现引用库和当前客户端不兼容的问题解决方案
    oracle user locked(timed)处理
    Windows下Oracle 11g安装以及创建数据库
    Windows下Oracle 11g创建数据库
    Windows下Oracle 11g的下载与安装
    C# 正则表达式大全
    socket-WebSocket HttpListener TcpListener 服务端客户端的具体使用案例
    InstallUtil操作WindowsService
    通过cmd 使用 InstallUtil.exe 命令 操作 windows服务 Windows Service
    Robots.txt 协议详解及使用说明
  • 原文地址:https://www.cnblogs.com/monica711/p/9804700.html
Copyright © 2020-2023  润新知