2

如果您有一个列表和另一个列表,其中第一个列表中的索引(数量有限)按升序排列。

如何在第二个列表中的连续索引之间获得第一个列表中的元素总和。

例如:

list1: til 100;
idx: (1 20 50 70 100);

我们如何从元素中获取列表元素总和的列表1:20, 20:50, 50:70, 70:100

显而易见的方法是在 idx 的元素上使用#_,但我们可以不使用 first、first 1_idx 等以某种方式迭代地做到这一点吗?

4

1 回答 1

2

像这样的东西会起作用:

q)sum each idx cut list1
190 1035 1190 2535 0

cut 通过在第一个给定的索引处切割第二个参数来进行操作。因此,为什么您会在结果末尾看到 0,因为它在第 100 个元素处切割。

于 2013-06-17T13:37:17.423 回答