python:从索引中提取子矩阵

时间:2019-03-15 10:46:51

标签: python indexing

我有一个矩阵和这两个维度的索引列表。

A = [[1,2,3],[4,5,6],[7,8,9]]
idx = [1,3,4]
idy = [2,5,7]

Matlab在Python中执行A(idx,idy)的类似表示法是什么?

1 个答案:

答案 0 :(得分:1)

这是我的例子:

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

idx = [0, 1]
idy = [1, 2]

a = [[A[ix][iy] for iy in idy] for ix in idx]
print(a)

发件人:

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

我正在根据索引idxidy获取子矩阵:

[
    [2, 3], 
    [5, 6]
]

请记住,在python中,索引是从0开始的,因此在这里我们有一个3x3矩阵,每行最小的索引是0,最大的索引是2和列。

这是您要找的东西吗?请让我知道。