Q语言 - 列表

列表是 q语言的基本构建块,因此彻底了解列表非常重要.列表只是原子(原子元素)和其他列表(一个或多个原子的组)的有序集合.

列表类型

通用列表将其项目括在匹配的括号中,并用分号分隔.例如 :

 
(9; 8; 7)或("a";"b";"c")或(-10.0 ; 3.1415e;`abcd;"r")

如果列表包含相同类型的原子,则称为统一列表.否则,它被称为一般列表(混合类型).

计数

我们可以获得的数量通过计数列表中的项目.

 
q)l1:( -  10.0; 3.1415e;`abcd;"r")   /分配变量名一般清单
q)count l1                           /计算清单中的项目数l1 
 4

简单清单示例

q)h:(1h;2h;255h)                    / Simple Integer List

q)h
1 2 255h

q)f:(123.4567;9876.543;98.7)        / Simple Floating Point List

q)f
123.4567 9876.543 98.7

q)b:(0b;1b;0b;1b;1b)                / Simple Binary Lists

q)b
01011b

q)symbols:(`Life;`Is;`Beautiful)    / Simple Symbols List

q)symbols
`Life`Is`Beautiful

q)chars:("h";"e";"l";"l";"o";" ";"w";"o";"r";"l";"d") 
                                    / Simple char lists and Strings.
q)chars
"hello world"

**注意 : 一个简单的char列表称为字符串.

列表包含原子或列表. 要创建单个项目列表,我们使用 :

 
q)singleton:enlist 42 
q)singleton 
,42

要区分原子和等效的单例,请检查他们的符号类型.

 
q)signum type 42 
 -1i 
q)signum type enlist 42 
 1i