python 三维图片 任意切片_Python3之切片及内置切片函数slice

切片

取一个list或tuple的部分元素是非常常见的操作。比如,一个list

L=[0,1,2,3,4,5,6,7,8,9]

取前3个元素,应该怎么做

笨方法,一个个列出来

>>> [L[0],L[1],L[2]]

[0, 1, 2]

假如需要列出N个但是N很大

循环方法

>>> r=[]

>>> n=3

>>> for i in range(n):

... r.append(L[i])

...

>>> r

[0, 1, 2]

对于经常去指定索引范围的操作,用循环十分繁琐,因此pythone提供了切片操作符能大大简化操作

>>> L[0:3]

[0, 1, 2]

L[0:3]表示,从索引0开始,直到索引3,但是不包含索引3,及索引0,1,2 一共3个元素

如果第一个索引为0可以省略

>>> L[:3]

[0, 1, 2]

也可以从索引1开始,取出2个元素来

>>> L[1:3]

[1, 2]

类似也可以倒数切片,-1代表倒数第1个索引

>>> L[-2:]

[8, 9]

>>> L[-2:-1]

[8]

默认取的间隔是1也可以定义,隔几个去一个

从索引0取到索引9没隔两个取一个

>>> L[0:10:2]

[0, 2, 4, 6, 8]

什么都不写,只写[:]就可以原样复制一个list

>>> L[:]

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

tuple也是一个list,唯一区别是tuple不可变.tuple切片也是一个tuple

>>> (0,1,2,3,4,5)[:3]

(0, 1, 2)

字符串'xxx'也是可以看成是一种list,也可以切片返回的是一个字符

>>> 'abcde'[:3]

'abc'

切片函数slice

语法

class slice(stop)

class slice(start, stop[, step])

参数说明

start--起始位置 默认为None

stop--结束位置 自定义

step--间距 默认为None间距为1

>>> myslice=slice(3)

>>> myslice

slice(None, 3, None)

>>> L[myslice]

[0, 1, 2]

>>> print(myslice.start)

None

>>> print(myslice.step)

None

>>> print(myslice.stop)

3

以上

myslice=(3)

等价于

myslice=slice(0,3,1)

自定义间隔step

#切片范围为0-10 间距为2

>>> myslice=slice(0,10,2)

#查看参数

>>> myslice

slice(0, 10, 2)

>>> L[myslice]

[0, 2, 4, 6, 8]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值