首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将切片组合成多维切片,用于numpy数组切片

将切片组合成多维切片,用于numpy数组切片
EN

Stack Overflow用户
提问于 2014-04-08 18:34:51
回答 1查看 383关注 0票数 2

如果我在一维上定义了两个切片对象,那么是否有可能将它们组合起来以获得一个多维切片对象,该对象可用于对numpy数组进行切片?

代码语言:javascript
复制
mat = np.zeros((10,10), dtype=np.uint8)
s1 = slice(0,5)
s2 = slice(0,5)
mat[s1,s2]  # I want to achieve this effect with one slice object    
slice2d = slice(s1, s2)  # does not throw an error
mat[slice2d]  # but this does not work
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-15 14:05:20

正如@unutbu所指出的,多维切片实际上是一个tuplelist of slice对象,那么:

代码语言:javascript
复制
slice2d = (s1, s2)
mat[slice2d]

会起作用的。类似地,可以将其扩展到3-D,.,N-D数组:

代码语言:javascript
复制
slice3d = (s1, s2, s3)
...
sliceNd = (s1, s3, s3, ..., sN)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22945463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档