zoukankan      html  css  js  c++  java
  • python之切片

    当我们建立一个list之后我们如果想要从里面取出东西的话呢我们需要使用L[0]来取出东西,然而这种取法是只能取很少的东西,如果我们需要去前n个数的时候,我们就只能用循环来实现,然而这个时候呢我们的取法就会很麻烦,但是在python当中他们已经给我们提供了一种方法,那就是切片(slice)。

    >>> L = ['Adam','Lisa','Bart','Paul']
    >>> L[0:3]
    ['Adam', 'Lisa', 'Bart']
    >>> L[:3]
    ['Adam', 'Lisa', 'Bart']
    >>> L[1:3]
    ['Lisa', 'Bart']
    >>> L[:]
    ['Adam', 'Lisa', 'Bart', 'Paul']
    >>> L[::2]
    ['Adam', 'Bart']

    这里面我们可以看到,如果我们想要从头开始取的话呢,我们只需要写出L[0:]就好了,当然了,如果哦我们不需要从头开始取的话呢,我们就只要写上我们需要开始取得元素所在索引号就好了。

    如果我们想要取全部的元素的话呢:我们就可以使用L[:]来全部取出了。

    在上面我们还能看到我们的切片不止有两个参数,我们还有三个参数,第三个参数指定的是每隔两个去一个元素。

    切片不止是list的特有功能,tuple也同样具有这种功能。

    切片我们不止有正序切片,还有倒序切片,但是第一个元素的切片的索引号是-1:

    >>> L[-3:-1]
    ['Lisa', 'Bart']
    >>> L[:-1]
    ['Adam', 'Lisa', 'Bart']
    >>> L[-3:]
    ['Lisa', 'Bart', 'Paul']

    字符串 'xxx'Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串

    >>> 'ABCDEFG'[:3]
    'ABC'
    >>> 'ABCDEFG'[-3:]
    'EFG'
    >>> 'ABCDEFG'[::2]
    'ACEG'

    在很多编程语言中,针对字符串提供了很多各种截取函数,其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。

  • 相关阅读:
    Thinkphp3.2 下载文件的方法
    使用Git向GitHub上传代码
    Ajax的调试错误信息的输出
    常用的邮箱服务器(SMTP、POP3)地址、端口
    Laravel框架中使用邮件发送功能
    Laravel框架之CSRF防跨站攻击
    Laravel框架接入短信平台进行用户注册短信验证
    Laravel中使用Session存取验证码信息
    beego api 服务允许跨域访问,解决前端访问报Access-Control-Allow-Origin问题
    golang:send mail using smtp package
  • 原文地址:https://www.cnblogs.com/chang1203/p/5837205.html
Copyright © 2011-2022 走看看