首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python中的4X4矩阵中分割出2X2矩阵?

从python中的4X4矩阵中分割出2X2矩阵?
EN

Stack Overflow用户
提问于 2014-07-14 23:59:57
回答 1查看 1.4K关注 0票数 0

我正在阅读关于EllipsisPython 3中的使用的文章。

考虑到这个矩阵:

代码语言:javascript
复制
A=[
   [1,2,3,4],
   [5,6,7,8],
   [9,10,11,12],
   [13,14,15,16]
  ]

我想从中提取各种2X2矩阵,如果可能的话最好使用片表示法:

例:

左上角:

代码语言:javascript
复制
B=[
  [1,2],
  [3,4]
  ]

右下角:

代码语言:javascript
复制
c=[
  [[9,10],
   [13,14]
  ]

中间2X2:

代码语言:javascript
复制
 d=[
    [6,7],
    [10,11]
    ]

如果可能的话,我想在不使用迭代的情况下尝试这一点。Ellipsis对打破这个高阶数组有帮助吗?

我尝试了以下几点:

代码语言:javascript
复制
>>> a[:2][:2]
[[1, 2, 3, 4], [5, 6, 7, 8]]
>>> a[:2][:2][:2]
[[1, 2, 3, 4], [5, 6, 7, 8]]
>>> 

不知怎么的,最后两个调用返回相同的子矩阵,这不是我所寻找的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-15 00:12:09

你可能想要清单理解。

左上角:

代码语言:javascript
复制
[x[:2] for x in a[:2]]

右上角:

代码语言:javascript
复制
[x[2:] for x in a[:2]]

中间:

代码语言:javascript
复制
[x[1:3] for x in a[1:3]] or [x[1:3] for x in a[2:4]]

本质上,您想要做的是分割出您不想要的行(这就是xa[k:l]中所做的),然后用x[m:n]分割列。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24747929

复制
相关文章

相似问题

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