Q 语言 - 列表


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

列表类型

通用列表将其项目括在匹配的括号内,并用分号分隔它们。例如 -

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

如果一个列表由相同类型的Atomics组成,则称为统一列表。否则,它被称为通用列表(混合类型)。

数数

我们可以通过计数来获取列表中的项目数。

q)l1:(-10.0;3.1415e;`abcd;"r")    / Assigning variable name to general list

q)count l1                        / Calculating number of items in the list 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"

**注意 - 简单的字符列表称为字符串。

列表包含Atomics或列表。要创建单个项目列表,我们使用 -

q)singleton:enlist 42

q)singleton
,42

要区分Atomics和等效的单例,请检查它们类型的符号。

q)signum type 42
-1i

q)signum type enlist 42
1i