列表是 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 Listq)h1 2 255hq)f:(123.4567;9876.543;98.7) / Simple Floating Point Listq)f123.4567 9876.543 98.7q)b:(0b;1b;0b;1b;1b) / Simple Binary Listsq)b01011bq)symbols:(`Life;`Is;`Beautiful) / Simple Symbols Listq)symbols`Life`Is`Beautifulq)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