将一个数组过滤为3个单独的数组

llmtgqce  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(443)

我有一个非常大的数组,我正试图在python中将其拆分为三个单独的数组,例如每个i=1+3(n-i)、i=2+3(n-1)和i%3==0被排序为三个不同的数组。任何帮助都将不胜感激。

  1. for i in range(num_steps):
  2. xyz0 = np.array([1.0,1,1])
  3. xyz[] = fsolve(Neuro, xyz0, bvals)
  4. re[i] =xyz[1+3(i-1)]
  5. rp[i] = xyz[2+3(i-1)]
  6. for i%3 == 0
  7. rs[i] = xyz[i]

这个代码毫无意义,但它是一个想法

e5nqia27

e5nqia271#

我们可以使用python的扩展切片语法。使命感 l[n::3] 我们将退回 l 从索引开始 n ,跨过 3 每一次。以下是您请求的示例:

  1. list = [1, 2, 3, 4, 5, 6, 7, 8]
  2. first = list[0::3]
  3. middle = list[1::3]
  4. last = list[2::3]

打印这些内容可获得所需的输出:

  1. >>> print(first)
  2. [1, 4, 7]
  3. >>> print(middle)
  4. [2, 5, 8]
  5. >>> print(last)
  6. [3, 6]

相关问题