Q Language - Lists
Lists are the basic building blocks of q language, so a thorough understanding of lists is very important. A list is simply an ordered collection of atoms (atomic elements) and other lists (group of one or more atoms).
Types of List
A general list encloses its items within matching parentheses and separates them with semicolons. For example −
(9;8;7) or ("a"; "b"; "c") or (-10.0; 3.1415e; `abcd; "r")
If a list comprises of atoms of same type, it is known as a uniform list. Else, it is known as a general list (mixed type).
We can obtain the number of items in a list through its count.
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
Examples of simple List
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"
**Note − A simple list of char is called a string.
A list contains atoms or lists. To create a single item list, we use −
q)singleton:enlist 42 q)singleton ,42
To distinguish between an atom and the equivalent singleton, examine the sign of their type.
q)signum type 42 -1i q)signum type enlist 42 1i