代码之家  ›  专栏  ›  技术社区  ›  Karnivaurus

选择numpy数组范围,包括最后一个元素

  •  0
  • Karnivaurus  · 技术社区  · 5 年前

    如果我想选择numpy数组的所有元素,直到索引n,我可以写:

    x = my_array[:N]
    

    例如,如果我想选择所有元素,最多索引5,我可以写:

    N = 5
    x = my_array[:N]
    

    或者,如果我想选择所有元素,包括倒数第二个元素,我可以写:

    N = -1
    x = my_array[:N]
    

    但是,如果我想选择所有元素,直到并包括最后一个元素呢?我怎样才能用上面的符号来做这个呢?

    我试过:

    N = -0
    x = my_array[:N]
    

    但这会返回一个空数组。

    是的,我可以写出来 x = my_array[:] 但是我需要它的格式 my_array[:N] 在哪里 N 是动态定义的。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Matt Whitehead    5 年前

    使用您的方法:

    N = len(my_array)
    x = my_array[:N]
    

    然后,如果只希望分割到该索引,可以指定任意的n值。如果知道的话,还可以直接指定数组的长度。

    为了说明这一点…

    my_array = [1, 2, 3, 4, 5]
    N = len(my_array)
    x = my_array[:N]
    my_array == x
    

    …返回真值。