zoukankan      html  css  js  c++  java
  • Python切片

    切片

    使用索引范围访问线性结构。

    语法:

    1. sequence[start:stop:step],返回[start,stop)区间的序列
    2. start为0时,可以省略,表示从头取到stop-1索引;stop为0也可以省略,表示取start到结尾的整个序列,支持负索引。
    3. start超过左边界,表示取到开头,stop超过右边界,表示取到结尾。
    4. start索引对应的元素一定要在stop-1索引的左边,否则,截取后为空串
    5. [:]表示截取整个字符串,相当于copy()
    In [43]: 'www.python.org'[4:]
    Out[43]: 'python.org'
    
    In [44]: 'www.python.org'[0:]
    Out[44]: 'www.python.org'
    
    In [45]: 'http://www.python.org'[:4]
    Out[45]: 'http'
    
    In [48]: 'http://www.python.org'[-10:17]
    Out[48]: 'python'
    
    In [49]: 'http://www.python.org'[-10:-17]
    Out[49]: ''
    
    In [53]: b'http://www.python.org'[-25:-17]
    Out[53]: b'http'
    
    In [54]: tuple('http://www.python.org')[-25:-17]
    Out[54]: ('h', 't', 't', 'p')
    
    In [55]: list('http://www.python.org')[-25:-17]
    Out[55]: ['h', 't', 't', 'p']

    按步长切片

    正数步长

    In [56]: list('http://www.python.org')[-25:-8:2]
    Out[56]: ['h', 't', ':', '/', 'w', '.', 'y']
    
    In [57]: a=list(range(10))
    
    In [58]: a[::3]
    Out[58]: [0, 3, 6, 9]
    
    In [59]: a[0:5:2]
    Out[59]: [0, 2, 4]

    负步长

    In [60]: a
    Out[60]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    In [61]: a[8:2:-2]
    Out[61]: [8, 6, 4]
    
    In [62]: a[::-2]
    Out[62]: [9, 7, 5, 3, 1]
    In [65]: a[:5:-2]
    Out[65]: [9, 7]
    
    In [66]: a[4::-2]
    Out[66]: [4, 2, 0]

    步长不能为0

    In [64]: a[::0]
    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-64-7ec8febe9a5b> in <module>
    ----> 1 a[::0]
    
    ValueError: slice step cannot be zero
  • 相关阅读:
    %EF%BB%BF问题
    java 性能调优总结
    Mysql 批量数据插入- 插入100万条数据
    中医-常见病-疗法
    windows Oracle 卸载注册表清理脚本
    Redis 关键点剖析
    JPA教程
    Xcode8 iOS10 中权限适配
    textField设置输入文字距左边的距离
    调用手机相册,相册语言选择,
  • 原文地址:https://www.cnblogs.com/zh-dream/p/13440989.html
Copyright © 2011-2022 走看看