Kdb 查找列表中元素数最多的列表

Kdb 查找列表中元素数最多的列表,kdb,Kdb,如何找到列表中元素数量最多的列表 例如,假设我有以下列表: l : (`AAPL`GOOG;`AAPL;`MSFT`JPM`GOOG`BNP;`JPM) 我想返回`MSFT`JPM`GOOG`BNP 哪个是元素数最多的列表(4个元素)。一种方法是: first l where c=max c:count each l 对每个列表进行计数,获取最大计数的位置并将其索引到原始列表中,其中一种方法是: first l where c=max c:count each l 对每个列表进行计数,

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

例如,假设我有以下列表:

l : (`AAPL`GOOG;`AAPL;`MSFT`JPM`GOOG`BNP;`JPM)
我想返回
`MSFT`JPM`GOOG`BNP

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

一种方法是:

first l where c=max c:count each  l
对每个列表进行计数,获取最大计数的位置并将其索引到原始列表中,其中一种方法是:

first l where c=max c:count each  l

对每个列表进行计数,获取最大计数的位置并将其索引到原始列表中。另一种方法是

1#desc l


或者你可以先用
替换
1
,使它更具可读性

另一种方法是

1#desc l


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

l first idesc l

找到最高的降序等级并将其用作索引

为了好玩,这里有另一个选择

l first idesc l

找到最高的降序等级并将其用作索引

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

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

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

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

所以这不是最好的答案,请考虑以下几点。q) l:(
AAPL
GOOG;
AAPL;
MSFT
JPM
GOOG
BNP;
ZZZZ
XXXX
yyyyy)q)l idesc l````code>zzzzzz
XXXX
yyyyy``它正在枚举符号,因此
zzzzzz`大于
MSFT
基本上,这将根据每个列表中使用的符号而失败, > <代码> >代码> 符号在KDBSO中,这不是最好的答案,请考虑下面的内容。q) l:(
AAPL
GOOG;
AAPL;
MSFT
JPM
GOOG
BNP;
ZZZZ
XXXX
yyyyy)q)l idesc l````code>zzzzzzXXXX
yyyyy``它正在枚举符号,因此
zzzzzz`大于
MSFT
基本上,这将根据每个列表中使用的符号而失败,
Z
A
对于KDBY中的符号,您需要首先添加
以获取实际列表。如果没有它,它是一个列表列表。您需要首先添加
,以获得实际列表。如果没有它,它就是一个列表列表。这不会给出所有列表的正确答案。试试Callum Biggs答案中的这个例子:(`AAPL`GOOG;`AAPL;`MSFT`JPM`GOOG`BNP;`ZZZZ`ZZZZ`ZZZZ)这不会给出所有列表的正确答案。试试Callum Biggs答案中的这个例子:(`AAPL`GOOG;`AAPL;`MSFT`JPM`GOOG`BNP;`ZZZZ`ZZZZ`ZZZZ)