python 从数组中提取元素

wre*_*rek 5 python numpy

我有一个 8000 个元素的一维数组。

我想获得以下两个数组:

  1. test[1995:1999]包含索引来自, [3995:3999], [5999:5999],的元素[7995:7999]

  2. train应该包含其他一切。

我该怎么做呢?


idx = [1995,1996,1997,1998, 1999, 3995, 3996, 3997,3998, 3999, 5995, 5996, 5997, 5998, 5999, 7995, 7996, 7997, 7998, 7999]
test = [X[i] for i in idx]

train = [X[i] for i **not** in idx]
Run Code Online (Sandbox Code Playgroud)

Ary*_*thy 5

根据您的示例,一个简单的解决方法是:

train = [X[i] for i, _ in enumerate(X) if i not in idx]
Run Code Online (Sandbox Code Playgroud)