kdb - KDB+/Q:填充不规则列表的有效方法(矩阵)
问题描述
给定以下列表列表:
q)m
1 1
1 1
1 1 1
什么是生成正则矩阵的有效方法(用 0 填充空格),如下所示:
q)m
1 1 0
1 1 0
1 1 1
谢谢
解决方案
一种方法如下:
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
只需找到最长行和其他行之间的长度差异并附加该数量的零。
推荐阅读
- c++ - QT 创建带有可点击项目的巨大网格
- c - 在“swscanf”中指定扫描集和“h”宽度修饰符不适用于 MSVC
- php - laravel 使用 find 时出现此错误:调用未定义的方法 Intervention\Image\ImageManager::find()
- mysql - 在 ubuntu 20.04 [POP-OS] 中安装 mySQL 时出错
- i18next - I18next 使用捆绑的翻译文件在本地加载翻译
- prometheus - 在单个 grafana 面板上添加多个警报
- php - 线程中的 PHP Curl 重用
- javascript - 或包含在 JS 中
- javascript - 如何使用 fetchAPI 发送发布请求
- r - 满足条件后使用 dplyr 对以下行进行变异