如何在kdb中找到元素索引?

如何在kdb中找到元素索引?,kdb,Kdb,如何确定kdb中列表中元素的第一次和最后一次出现的索引。该列表显然具有重复值且未排序。如果有必要,该列表只包含浮动(价格)。我试着使用bin和binr,但没有达到预期的效果。找到了答案 pxs?1b /gives first and (count pxs) - (reverse pxs)?5222.4 /gives last 我可以推荐一个替代方案(更简单?更容易阅读?更通用?)吗 q)list:1 2 3 2 4 2 5f q)list=2.0 0101010b q)where lis

如何确定kdb中列表中元素的第一次和最后一次出现的索引。该列表显然具有重复值且未排序。如果有必要,该列表只包含浮动(价格)。我试着使用bin和binr,但没有达到预期的效果。

找到了答案

pxs?1b /gives first and 
(count pxs) - (reverse pxs)?5222.4 /gives last

我可以推荐一个替代方案(更简单?更容易阅读?更通用?)吗

q)list:1 2 3 2 4 2 5f  
q)list=2.0
0101010b
q)where list=2.0
1 3 5
q)first where list=2.0
1
q)last where list=2.0
5

bin
的文档中:左参数的项应按非下降顺序排序可以很好地组合成一行
q(first;last)@\:其中list=2
我会小心使用,除非您确定元素在列表中。如果不是,它将给出列表的长度。