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

            记得刚开始学切片这一节的时候,看完之后,做了作业,感觉记忆深刻。学到后面很多地方都可以用到切片,这时候切片早已被我忘得一干二净。    

            切片(Slice)是一个取部分元素的操作。可以操作list、tuple、字符串。利用切片很多地方循环就不再需要了。Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作。

            通常一个切片操作要提供三个参数 [start_index:  stop_index:  step] :
    start_index是切片的起始位置
    stop_index是切片的结束位置(不包括)
    step可以不提供,默认值是1,步长值不能为0,不然会报错ValueError。

    L=list(range(10))
    L1=L[0:3]  #从索引0开始取,直到索引3为止,但不包括索引3
    #运行结果:[0, 1, 2]
    L2=L[:3]   #如果第一个索引是0,还可以省略
    #运行结果:[0, 1, 2]
    L3=L[:-1]  #Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,倒数第一个元素的索引是-1
    #运行结果:[0, 1, 2, 3, 4, 5, 6, 7, 8]
    L4=L[1:8:2] #前8个数,每两个取一个
    #运行结果:[1, 3, 5, 7]
    L5=L[::-1]  #倒叙取每一个数
    #运行结果:[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
    L6=L[:]     #只写[:]就可以原样复制一个list
    #运行结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    作业1:

    #利用切片操作,实现一个trim()函数,去除字符串首尾的空格
    def trim(s):
        while s[:1]==' ':  #while循环判断第一个元素是否为空
            s=s[1:]     #为空的话将第一个元素截取
        while s[-1:]==' ':  #while循环判断最后一个元素是否为空
            s=s[:-1]     #为空的话将最后一个元素截取
        return s

     作业2:

    #回数是指从左向右读和从右向左读都是一样的数,例如12321,909。利用filter()筛选出回数:
    def is_palindrome(n):
        if str(n)==str(n)[::-1]:  #判断从左向右读和从右向左读是否都是一样的数
            return n
    print(list(filter(is_palindrome,list(range(100)))))



       

  • 相关阅读:
    after change the pltask.cfg
    C++ map的基本操作和用法
    const char * char * const 以及char const *
    遇到segmentation fault 错误
    编译和链接通过生成可执行文件,但运行时找不到动态库
    Invalid Issuer
    数据库的相关操作
    Go项目实战:打造高并发日志采集系统(六)
    Go项目实战:打造高并发日志采集系统(五)
    Go项目实战:打造高并发日志采集系统(四)
  • 原文地址:https://www.cnblogs.com/lengjf/p/9914642.html
Copyright © 2011-2022 走看看