如何在kdb中获取元素匹配项在列表中的位置?

如何在kdb中获取元素匹配项在列表中的位置?,kdb,q-lang,Kdb,Q Lang,例如,如果我有一个列表a:2 5 3 1,我可以将另一个列表与之匹配,比如说b:3 5,它与a[2]的3个和a[1]的5个匹配。我有兴趣获得索引21 我尝试了其中3 5 in 2 5 3 1,但没有成功。我认为您应该使用?来实现此目的: q)2 5 3 1?3 5 2 1 谢谢,但是这在查询中似乎不起作用:选择b?a从翻转ab!(12;(3 2 1;3 2 1))给出错误:rank注意?只返回第一次出现的索引。听起来这正是你想要的,但值得一提。如果您需要所有位置,则可以使用类似的方法,其中每个

例如,如果我有一个列表
a:2 5 3 1
,我可以将另一个列表与之匹配,比如说
b:3 5
,它与
a[2]
的3个和
a[1]
的5个匹配。我有兴趣获得索引
21


我尝试了
其中3 5 in 2 5 3 1
,但没有成功。

我认为您应该使用
来实现此目的:

q)2 5 3 1?3 5
2 1

谢谢,但是这在查询中似乎不起作用:
选择b?a从翻转
a
b!(12;(3 2 1;3 2 1))
给出错误:
rank
注意
只返回第一次出现的索引。听起来这正是你想要的,但值得一提。如果您需要所有位置,则可以使用类似
的方法,其中每个b=\:a