6.10 数据容器(序列)的切片

一、序列

  1. 序列是指:内容连续、有序,可以使用下标索引的一类数据容器(列表、元组、字符串,均可以视为序列)

二、切片

  1. 定义:从一个序列中,取出一个子序列

  2. 语法:序列[起始下标:结束下标:步长]

    1. 表示从序列中,从指定位置开始,一次取出元素,到指定位置结束,得到一个新的序列

    2. 起始下标表示从何处开始,可以留空,留空视作从头开始

    3. 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾

    4. 步长表示依次取元素的间隔

      1. 步长1表示:一个个取元素(默认步长为1)

      2. 步长2表示:每次跳过一个元素取

      3. 步长n表示:每次跳过n-1个元素取

      4. 步长为负表示:反向取(注意:起始下标与结束下标也要换位置)

  3. 注意:操作不会影响本身,只会生成一个新的内容

  4. 案例:

    # 对list进行切片,从1开始,4结束,步长1
    my_list = [0, 1, 2, 3, 4, 5, 6]
    print(my_list[1:4])
    
    # 对tuple进行切片,从头开始,到最后结束,步长为1
    my_tuple = (0, 1, 2, 3, 4, 5, 6)
    print(my_tuple[:])
    
    # 对str进行切片,从头开始,到最后结束,步长2
    str = "0123456"
    print(str[::2])
    
    # 对str进行切片,从头开始,到最后结束,步长1(反转操作)
    print(str[::-1])
    
    # 对列表进行切片,从3开始,到1结束,步长-1
    print(my_list[3:1:-1])
    
    # 对元组进行切片,
    print(my_tuple[::-2])
    

    输出结果:

    [1, 2, 3] (0, 1, 2, 3, 4, 5, 6) 0246 6543210 [3, 2] (6, 4, 2, 0)

Last updated

Was this helpful?