首页 > 解决方案 > KDB+/Q:填充不规则列表的有效方法(矩阵)

问题描述

给定以下列表列表:

q)m
  1 1
  1 1 
  1 1 1

什么是生成正则矩阵的有效方法(用 0 填充空格),如下所示:

q)m
  1 1 0
  1 1 0
  1 1 1

谢谢

标签: kdb

解决方案


一种方法如下:

q)m:(1 1;1 1;1 1 1)
q){x,'(max[c]-c:count each x)#'0}m
1 1 0
1 1 0
1 1 1

只需找到最长行和其他行之间的长度差异并附加该数量的零。


推荐阅读