zoukankan      html  css  js  c++  java
  • python切片操作

    众所周知切片方法适用于字符串,列表,元组。

    以下几点我们首先了解一下

    1)切片使用索引值来限定范围

    2)列表和元组都是有序集合,可以通过索引值获取相应数据

    3)字典是一个无序集合,使用一个键值对保存数据

    4)注意切片的结果不包含结束索引,即不包含最后的一位,-1代表列表的最后一个位置索引

    我们再看一下切片使用格式:[开始索引:结束索引:步长]

    format:【start:end:step】

    start:起始索引,从0开始,-1表示结束。

    end:结束索引。

    step:步长,end-start,步长为正时,从左向右取值。步长为负时,反向取值,默认为1。

    下面以字符串为例,开始切片骚操作:

    num_str = "0123456789"
    # 截取2-5的字符串
    print(num_str[2:6])
    2345
    
    # 截取2-末尾的字符串
    print(num_str[2:])
    23456789
    
    # 截取开始-5的字符串
    print(num_str[:6])
    012345
    print(num_str[0:6])
    012345
    
    # 截取完整的字符串
    print(num_str[:])
    0123456789
    print(num_str[0:])
    0123456789
    
    # 从开始位置,每隔一个字符截取字符串
    print(num_str[::2])
    02468
    print(num_str[0::2])
    02468
    
    # 从索引1开始,每隔一个字符截取字符串
    print(num_str[1::2])
    13579
    
    # 截取从2-末尾-1的字符串
    print(num_str[2:-1])
    2345678
    
    # 截取字符串末尾两个字符
    print(num_str[-2:])
    89
    
    # 字符串的逆序!!!
    print(num_str[::-1])
    9876543210
    print(num_str[-1::-1])
    9876543210

    列表与元组同理,看以下示例:(ipython中操作)

    In [2]: num_list = [0,1,2,3,4,5] # 列表
    
    In [3]: print(num_list[:3])
    [0, 1, 2]
    
    In [4]: print(num_list[:])
    [0, 1, 2, 3, 4, 5]
    
    In [5]: print(num_list[::-1])
    [5, 4, 3, 2, 1, 0]
    
    In [6]: print(num_list[::2])
    [0, 2, 4]
    
    In [7]: num_tuple = (0,1,2,3,4,5) # 列表
    
    In [8]: print(num_tuple[::2])
    (0, 2, 4)
    
    In [9]: print(num_tuple[1:-1])
    (1, 2, 3, 4)
    
    In [10]: print(num_tuple[::-1])
    (5, 4, 3, 2, 1, 0)
    
    In [11]: print(num_tuple[-1::-1])
    (5, 4, 3, 2, 1, 0)
    

    注意:

       1.指定的区间属于 左闭右开[开始索引, 结束索引) => 开始索引 >= 范围 < 结束索引 

            从 起始 位开始,到 结束位的前一位 结束(不包含结束位本身)

       2.从头开始,开始索引 数字可以省略,冒号不能省略

       3.到末尾结束,结束索引 数字可以省略,冒号不能省略

       4.步长默认为 1,如果连续切片,数字和冒号都可以省略

  • 相关阅读:
    IIS 备份
    Windows Service 的注册和卸载
    算法测试(课上测试)
    《Unix/Linux系统编程》第十四章学习笔记20191304商苏赫
    mystat
    实验四 Web服务器1socket编程
    《Unix/Linux系统编程》第十二章学习笔记20191304商苏赫
    整数范围与类型转换
    《Unix/Linux系统编程》第十三章学习笔记20191304商苏赫
    实验四 Web服务器2
  • 原文地址:https://www.cnblogs.com/kaye/p/12487568.html
Copyright © 2011-2022 走看看