kdb一项列表未初始化

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

我正在学习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.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控制台中查看