在列表列表中查找元素数量最多的列表

时间:2019-07-25 02:06:21

标签: kdb

如何找到列表列表中元素数量最多的列表?

例如,说我有以下列表列表:

l : (`AAPL`GOOG;`AAPL;`MSFT`JPM`GOOG`BNP;`JPM)

我想返回`MSFT`JPM`GOOG`BNP

这是元素数量最多(4个元素)的列表。

4 个答案:

答案 0 :(得分:2)

一种方法是:

first l where c=max c:count each  l

计算每个列表,获取最大数量的位置,并以此索引原始列表

答案 1 :(得分:2)

根据符号组成,当前接受的答案将失败。

q)l : (`AAPL`GOOG;`AAPL;`MSFT`JPM`GOOG`BNP;`ZZZZ`ZZZZ`ZZZZ)
q)l first idesc l
`ZZZZ`ZZZZ`ZZZZ

以下内容将起作用,而不管列表内容如何

q)l first idesc count each l

答案 2 :(得分:0)

另一种方法是

1#desc l

或者您可以将1#替换为first,以使其更具可读性

答案 3 :(得分:0)

有趣的是,这是另一个选择

l first idesc l

找到最高的下降坡度并将其用作索引。