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)))))



       

  • 相关阅读:
    Centos 7 zabbix 实战应用
    Centos7 Zabbix添加主机、图形、触发器
    Centos7 Zabbix监控部署
    Centos7 Ntp 时间服务器
    Linux 150命令之查看文件及内容处理命令 cat tac less head tail cut
    Kickstart 安装centos7
    Centos7与Centos6的区别
    Linux 150命令之 文件和目录操作命令 chattr lsattr find
    Linux 发展史与vm安装linux centos 6.9
    Linux介绍
  • 原文地址:https://www.cnblogs.com/lengjf/p/9914642.html
Copyright © 2011-2022 走看看