KDB+/Q:填充不规则列表(矩阵)的有效方法

Bra*_*rad 1 kdb

给出以下列表:

q)m
  1 1
  1 1 
  1 1 1
Run Code Online (Sandbox Code Playgroud)

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

q)m
  1 1 0
  1 1 0
  1 1 1
Run Code Online (Sandbox Code Playgroud)

谢谢

小智 5

一种方法如下:

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
Run Code Online (Sandbox Code Playgroud)

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