zoukankan      html  css  js  c++  java
  • 字符串切片

    切片定义:切片用于提取序列的一部分

    切片与索引比较:使用索引来访问单个元素,
            使用切片来访问特定范围内的元素。

    遵循前闭后开原则:第一个索引指定的元素包含在切片内,第二个索引指定的元素不包含在切片内。

    示例1:
    my_str = 'abcdefg'
    print(my_str[1:4])        # 'bcd'

    缩写情况:如果切片结束于序列末尾,可以省略第二个索引;
                      如果切片开始于序列开头,可以省略第一个索引;
                      如果复制整个序列,可以将两个索引都省略。

    示例2:
    my_str = 'abcdefg'
    print(my_str[1:])        # bcdefg
    print(my_str[:4])        # abcd
    print(my_str[:])         # abcdefg 

    空序列的两类情况:第一个索引指定的元素位于第二个索引指定的元素后面。

    示例3:
    my_str = 'abcdefg'
    print(my_str[-3:0])            # ''
    print(my_str[0:-3:-1])         # ''

    执行上面切片操作时,显式或者隐式的指定起点和终点,但是忽略了另一个参数--步长,默认值为1。
    当步长值为负数时比较:

    示例4:
    my_str = 'abcdefg'
    
    终--起--终
    print(my_str[1::1])        # bcdefg
    print(my_str[1::-1])       # ba
    
    起--终--起
    print(my_str[:1:1])        # a
    print(my_str[:1:-1])       # gfedc

    总结:
    遵循前闭后开
    步长值为正,起始值在终点值之前
    步长值为负,起始值在终点值之后

    步长值不为1时:每隔3个元素提取一个,步长值为4:

    示例5:
    my_str = 'abcdefg'
    print(my_str[::4])        # ae
  • 相关阅读:
    CSP_2019
    luogu_P1026 统计单词个数
    [SCOI2007]降雨量
    [HEOI2016/TJOI2016]排序
    LuoguP2698 【[USACO12MAR]花盆Flowerpot】
    LuoguP3069 【[USACO13JAN]牛的阵容Cow Lineup
    CF723D 【Lakes in Berland】
    CF799B T-shirt buying
    迪杰斯特拉算法(Dijkstra) (基础dij+堆优化) BY:优少
    Tarjan求有向图强连通分量 BY:优少
  • 原文地址:https://www.cnblogs.com/mcladyr/p/13977487.html
Copyright © 2011-2022 走看看