kdb一项列表未初始化
我正在学习Kx技术培训课程,有一句话说 “登记适用于所有数据对象;任何数据对象的结果都是一个项目列表,其项目就是该对象。例如” 这个结果不是一个一维的浮动列表。它是一个二维的count one列表,count one的唯一元素是一个一维的float列表 但是当我完全按照Q中的例子做的时候,我不明白。我明白了kdb一项列表未初始化,kdb,q-lang,Kdb,Q Lang,我正在学习Kx技术培训课程,有一句话说 “登记适用于所有数据对象;任何数据对象的结果都是一个项目列表,其项目就是该对象。例如” 这个结果不是一个一维的浮动列表。它是一个二维的count one列表,count one的唯一元素是一个一维的float列表 但是当我完全按照Q中的例子做的时候,我不明白。我明白了 enlist(2 5;3.5 10 12) 2 5 3.5 10 12 所以下面的工作,我希望在给出假设结构的解释后不会起作用: enlist(2 5;3.5 10 12)+1 3 6 4
enlist(2 5;3.5 10 12)
2 5 3.5 10 12
所以下面的工作,我希望在给出假设结构的解释后不会起作用:
enlist(2 5;3.5 10 12)+1
3 6 4.5 11 13
这是怎么回事?这只是q控制台显示输出的方式。您的名单仍在登记中 如果您做一个简单的计数,您会注意到差异:
q)count (2 5;3.5 10 12) / a list with 2 elements
2
q)count enlist (2 5;3.5 10 12) / a list with 1 element
1
甚至是一个简单的索引:
q)(2 5;3.5 10 12)0 / get the first element of the list
2 5
q)enlist[(2 5;3.5 10 12)]0 / get the first element of the enlisted list
2 5
3.5 10 12
也可以切换到k控制台查看结果:
q)\
(2 5;3.5 10 12)
(2 5;3.5 10 12)
.q.enlist(2 5;3.5 10 12)
,(2 5;3.5 10 12)
另外,
+
操作符通过嵌套结构工作,这就是它不会出错的原因。这只是q控制台显示输出的方式。您的名单仍在登记中
如果您做一个简单的计数,您会注意到差异:
q)count (2 5;3.5 10 12) / a list with 2 elements
2
q)count enlist (2 5;3.5 10 12) / a list with 1 element
1
甚至是一个简单的索引:
q)(2 5;3.5 10 12)0 / get the first element of the list
2 5
q)enlist[(2 5;3.5 10 12)]0 / get the first element of the enlisted list
2 5
3.5 10 12
也可以切换到k控制台查看结果:
q)\
(2 5;3.5 10 12)
(2 5;3.5 10 12)
.q.enlist(2 5;3.5 10 12)
,(2 5;3.5 10 12)
另外,+
运算符通过嵌套结构工作,这就是它不会出错的原因。或者使用0N!(2 5;3.5 10 12); 要在q控制台中查看或使用0N!(2 5;3.5 10 12); 在q控制台中查看