【问题标题】:2-D Array Slicing without NumPy Import没有 NumPy 导入的二维数组切片
【发布时间】:2019-10-26 16:48:02
【问题描述】:

我正在学习如何处理二维数组,目前正在尝试弄清楚如何在没有 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(或任何值)仍然包含在各自的列表中时,有什么可能的切片方法。

【问题讨论】:

  • 可能你需要修改你的例子(3、4、5、6、7、9)。即使使用 numpy 也无法删除这些值!当然你可以通过某种方式做到这一点,但我的意思是你不能像array[x:y, m:n]那样做到这一点

标签: python arrays matrix


【解决方案1】:

没有简单的方法可以按照您想要的方式索引嵌套列表。但是,你可以实现将列表展平(返回单个列表,我们将调用 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]

欲了解更多信息,请参阅How to make a flat list out of list of lists?

【讨论】:

    猜你喜欢
    • 2018-07-30
    • 1970-01-01
    • 2021-08-21
    • 2015-01-29
    • 2021-11-23
    • 2018-02-15
    • 2014-12-15
    • 2016-10-15
    相关资源
    最近更新 更多