python内置函数切片

一、切片的定义

  • 通过索引区间访问线性结构的一段数据
  • sequence[start:stop] 表示返回[start,stop]区间的子序列,支持负索引
  • start为0,可以省略,stop为末尾,也可以省略
  • 超过上届(右边界), 就取到末尾;超过下届(左边界),取到开头
  • [:]表示从头至尾,全部元素被取出,等效于copy()方法

二、切片代码举例

举例:

  • >>> s = 'www.magedu.com'
  • >>> s
  • 'www.magedu.com'
  • >>> s[4:10]
  • 'magedu'
  • >>> s[:10]
  • 'www.magedu'
  • >>> s[4:]
  • 'magedu.com'
  • >>> s[:]
  • 'www.magedu.com'
  • >>> s[:-1]
  • 'www.magedu.co'
  • >>> tuple(s)[-10:10]
  • ('m', 'a', 'g', 'e', 'd', 'u')
  • >>> list(s)[-10:4]
  • []
  • >>> tuple(s)
  • ('w', 'w', 'w', '.', 'm', 'a', 'g', 'e', 'd', 'u', '.', 'c', 'o', 'm')
  • >>> list(s)
  • ['w', 'w', 'w', '.', 'm', 'a', 'g', 'e', 'd', 'u', '.', 'c', 'o', 'm']

三、长步切片

  • [start:stop:step],step为步长,可以正、负整数,默认是1
  • step要和start:stop同向,否则返回空序列

举例:

>>> s = 'www.magedu.com'

>>> s[4:10:2]

'mgd'

>>> list(s)[4:10:-2]

[]

>>> tuple(s)[-10:-4:2]

('m', 'g', 'd')

>>> tuple(s)[-10:-4:-2]

()

>>> tuple(s)[4:10:2]

('m', 'g', 'd')

>>> list('1234')

['1', '2', '3', '4']