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没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。

  • 相关阅读:
    zz如何防止拖延
    Matlab中统计矩阵中相同元素的个数
    深度学习(Deep Learning)算法简介
    深度学习(Deep Learning)综述
    端午节的说说
    .net 开发 配置文件的灵活使用
    2005
    那一天 That day
    女 孩 的 心 思
    Wind Flowerlove
  • 原文地址:https://www.cnblogs.com/chang1203/p/5837205.html
Copyright © 2011-2022 走看看