首页 > 解决方案 > (q/kdb+) 合并列表中的项目

问题描述

我有一个项目列表,需要将它们合并到一个列中

使用列表

list:(1 2;3 4 5 7;0 1 3)

index   value
0       1 2
1       3 4 5 7
2       0 1 3

我的目标是

select from list2

value
1
2
3
4
5
7
0
1
3

标签: kdb

解决方案


'raze' 函数将列表的 1 级展平。

   q) raze (1 2;3 4 5 7;0 1 3)
   q) 1 2 3 4 5 7 0 1 3

如果您有具有多级索引的列表,则使用带有 raze 的“over”副词:

   q)  (raze/)(1 2 3;(11 12;33 44);5 6)

要将其转换为表格列:

   q) t:([]c:raze list)

推荐阅读