连接q中的向量列表

时间:2018-09-22 08:48:19

标签: kdb

我有以下两个列表:

x:(("AA";"AA");("BB";"BB"))
y:(("11";"11");("22";"22"))

我针对此结果:

z =((“ AA11”;“ AA11”);(“ BB22”;“ BB22”))

我尝试过:

x,'y 

但这会导致所有矢量都不由子矢量连接。

2 个答案:

答案 0 :(得分:3)

由于列表是嵌套的,因此需要两次使用each-both

q)x,''y
(("AA11";"AA11");("BB22";"BB22"))

或者,如果您不关心结构,则可以先raze并使用单个each-both

q)raze[x],'raze[y]
("AA11";"AA11";"BB22";"BB22")

答案 1 :(得分:2)

在不确定嵌套级别时,使用.z.seach-both的通用解决方案:

q)f:{$[10h=type x;x,y;.z.s'[x;y]]}

q)x:(("AA";"AA");("BB";"BB"))
q)y:(("11";"11");("22";"22"))

q)f[x;y]
(("AA11";"AA11");("BB22";"BB22"))


q)x:((("AA";"AA");("BB";"BB"));(("CC";"CC");("DD";"DD")))
q)y:((("11";"11");("22";"22"));(("33";"33");("44";"44")))

q)f[x;y]
((("AA11";"AA11");("BB22";"BB22"));(("CC33";"CC33");("DD44";"DD44")))