如何对多维数组进行切片?

问题描述 投票:0回答:1

尝试使用 Python 进行多维数组切片,但遇到了以下代码的困惑

# Example 2D array
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
# Basic slicing
result = matrix[0:2][1:2]
print(result)

因此,当我使用以下行阅读此示例时:结果=矩阵[0:2][1:2]

我将此读作

result = matrix [rows][columns]

所以对我来说,我认为这应该返回矩阵的前两行,然后返回切片 [1:2] 的指定列

所以我想它应该首先返回行 ->

[1, 2, 3], [4, 5, 6]

然后在此之后它应该使用 [1:2] 进行另一个切片,所以我猜它应该返回 [5]?第 1 行到第 2 个元素?

当我运行代码时,结果如下

[[4,5,6]]

我完全错了,所以想知道我错过了什么?

我尝试用谷歌搜索这种语法,其中有矩阵[X:X][X:X],但我无法找出这叫什么,所以如果有人可以阐明或指出我正确的方向,我将不胜感激!

python arrays multidimensional-array slice
1个回答
0
投票

当获取矩阵[0:2]时,您将获得索引为0和1的基本矩阵的前2个元素:

[1, 2, 3], [4, 5, 6]
。然后你在 getted 中尝试 slice[1:2] 之前的结果你只接收了 1 个索引为 1 的元素,它等于
[4, 5, 6]
enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.