美文网首页python基础
内置数据结构-切片

内置数据结构-切片

作者: loveroot | 来源:发表于2017-01-02 18:47 被阅读8次

    切片是对列表、元组、字符串等序列进行操作的一种方法,主要是使用下标/索引来操作
    下标如果有起始和结束位置,则不包括结束位置的索引,类似数学区间中的前闭后开的[ ), 可以以下形式表示。

    序列[起始位置:结束位置:步长]
    seq[start:end: step]
    

    左向右切片时,左边的数字要小于右边的数字, 大于的时候返回一个空的对象,索引可以是负数

    In [74]: lst3
    Out[74]: ['a', 3, 2, 1, 'hello list', 'a', 10, 'head']
    
    In [75]: lst[2:5]
    Out[75]: [2, 1, 'hello list']
    
    超出索引范围时不会像单个取值时那样报错,取到最后为止
    In [76]: lst[-12:-5]
    Out[76]: ['a', 3, 2]
    
    In [77]: s = 'python'
    In [78]: s[4:1]
    Out[78]: ''
    

    如果 start 为0的时候可以省略,end为序列长度的时候可以省略,都省略相当于copy的效果

    In [79]: lst3[:]
    Out[79]: ['a', 3, 2, 1, 'hello list', 'a', 10, 'head']
    
    In [80]: s[:4]
    Out[80]: 'pyth'
    
    In [81]: s[2:]
    Out[81]: 'thon'
    

    步长表示以间隔多少个元素取值,步长可以是负数,表示从后向前

    从0到8,每隔两个元素取一个
    In [82]: lst3[:8:2]
    Out[82]: ['a', 2, 'hello list', 10]
    
    从后向前时起始值要大于结束值
    In [86]: lst3[10:2:-1]
    Out[86]: ['head', 10, 'a', 'hello list', 1]
    

    相关文章

      网友评论

        本文标题:内置数据结构-切片

        本文链接:https://www.haomeiwen.com/subject/phiwvttx.html