不使用NumPy导入的二维阵列切片



我正在学习如何处理2-D数组,目前正试图找出如何在没有numPy导入的情况下实现这一点。一个简单的一维阵列可以相应地切片:

Array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Array[start:stop:step]

但是,如果阵列是:

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

我看到我可以对列表中包含的某些元素进行切片,比如:

Array2[0][1]
2

然而,当元素3、4、5、6、7、9(或任何值(仍包含在它们各自的列表中时,切片的可能方法是什么。

没有简单的方法可以按照您想要的方式对嵌套列表进行索引。然而,您可以实现使列表变平(返回一个列表,我们将称之为Array3(,然后进行适当索引的效果。

Array2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Array3 = [item for sublist in Array2 for item in sublist]
Array3[2:]
>>>> [3, 4, 5, 6, 7, 8, 9]

有关更多信息,请参阅如何从列表列表中创建一个平面列表?

最新更新