迭代numpy数组的{zipped'范围

时间:2016-03-10 13:01:07

标签: python arrays numpy

我经常使用代表时间序列关键时刻的numpy数组。然后我想迭代范围并对它们运行操作。例如:

rngs = [0, 25, 36, 45, ...]
output = []
for left, right in zip(rngs[:-1], rngs[1:]):
      throughput = do_stuff(array[left:right])...
      output.append(throughput)

有没有不那么尴尬的方法呢?

1 个答案:

答案 0 :(得分:0)

您可以使用enumerate生成器

rngs = [0, 25, 36, 45, ...]
output = []
for index, _ in enumerate(rngs[:-1]):
      throughput = do_stuff(array[index:index+1])...
      output.append(throughput)

在一行中有理解列表:

rngs = [0, 25, 36, 45, ...]
output = [do_stuff(array[index:index+1]) for index, _ in enumerate(rngs[:-1])]
相关问题