You need to enable JavaScript to run this app. KDB+/Q中?仅返回首个匹配,如何查找字典所有匹配值条目
优惠活动
大模型
产品
解决方案
定价
更多

KDB+/Q中?仅返回首个匹配,如何查找字典所有匹配值条目

KDB+/Q 字典全匹配条目检索方法

原生?函数仅返回字典中目标值的首个匹配键,要拿到所有匹配的键,核心是拆解字典的键、值结构,通过逐值比对生成过滤条件实现全量匹配。

操作步骤

  • 用value函数提取字典的全部值,和目标匹配值做逐元素相等判断,生成布尔类型的过滤掩码
  • 用where配合掩码,对字典的全部键做过滤,得到所有对应匹配值的键

实操示例

沿用示例中定义的字典:d:1 2 3 4!100 200 100 400,需要找出所有值为100的键时,输入以下代码:

// 逐值比对生成匹配掩码
mask: value[d] = 100
// 过滤得到所有匹配键
key[d] where mask

执行后返回结果为1 3,覆盖字典中两个值为100的键条目。
如果不需要保留中间掩码变量,也可以将逻辑合并为单行写法,直接输出结果:

key[d] where value[d] = 100

内容的提问来源于stack exchange,提问作者user3203476

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.11 09:36:03