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

在KDB中如何按照字典的键对字典进行排序?

KDB字典按键排序解决方案

问题复现

你给出的示例字典定义如下:

d: 1 -2 -1 ! 3 4 5

直接使用asc d默认按字典的值排序,无法满足按键排序的需求。

实现方法

最简写法(推荐)

先提取字典的键做排序,再用排序后的键重排原字典即可:

/ 按键升序排序
sorted_d: (asc key d) # d

代码逻辑说明:

  • key d:提取目标字典的所有键
  • asc key d:对键列表执行升序排序,如需降序可替换为desc key d
  • #:KDB取子字典操作符,左侧传入排序后的键列表,右侧传入原字典,会严格按照左侧键的顺序返回新字典

运行结果

针对你的示例字典,排序后输出结果如下:

-2| 4
-1| 5
1 | 3

扩展说明

如果需要自定义键的排序规则,可以先对key d返回的键列表做自定义排序处理,再通过#操作符重排字典即可,无需使用其他复杂函数。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:45:03