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

在KDB中如何将一维列表转换为指定阶数的正方形矩阵?

KDB生成n阶方阵的规范实现

KDB内置的#重塑运算符是处理这类需求的原生方案,不需要额外封装自定义函数,是行业通用的规范实现方式。

基础用法说明

当#运算符左侧为维度列表时,会将右侧的一维列表按指定维度重塑为矩阵:

/ 你的示例实现
q)l:1 2 3 4
q)2 2#l
1 2
3 4

如果要生成通用n阶方阵,只需将左侧维度参数改为(n;n)即可,示例如下:

/ 生成3阶数值方阵示例
q)n:3
q)list:1+til n*n / 生成长度为n²的1~9有序列表
q)(n;n)#list
1 2 3
4 5 6
7 8 9

额外特性说明

如果输入的一维列表长度不足n²,KDB会自动循环填充元素:

q)2 2#1 2
1 2
1 2

如果输入的一维列表长度超过n²,会自动截断前n²个元素使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:42:03