You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在kdb中使用'操作符实现列表字符串的逐一比较?

Kdb字符串逐元素比较的正确写法

你遇到的报错是因为~'(each)操作符要求左右两边的列表长度完全匹配:左边"tbl"是长度为1的字符串,右边("customer";"tbl")是长度为2的列表,长度不匹配导致报错。

要实现单字符串和列表中每个元素逐一比较,有两种简洁的写法:

方法1:使用each right操作符~':

这是最地道的kdb写法,专门处理单元素对多元素的逐元素操作:

"tbl" ~': ("customer";"tbl")

执行后会输出01b,符合你的期望。

方法2:扩展左边为同长度列表

把左边的单个字符串复制成和右边列表长度一致的列表,再用~'比较:

("tbl";"tbl") ~' ("customer";"tbl")

同样能得到01b,但这种写法不如第一种简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:43:11