Skip to content
axexlck edited this page Dec 6, 2018 · 2 revisions

Lists

Lists can be entered in Symja with curly braces { and }:

>> mylist = {a, b, c, d} {a,b,c,d} 

There are various functions for constructing lists:

>> Range(5) {1,2,3,4,5} >> Array(f, 4) {f(1),f(2),f(3),f(4)} >> ConstantArray(x, 4) {x,x,x,x} >> Table(n ^ 2, {n, 2, 5}) {4,9,16,25} 

The number of elements of a list can be determined with Length:

>> Length(mylist) 4 

Elements can be extracted using double square braces:

>> mylist[[3]] c 

Negative indices count from the end:

>> mylist[[-3]] b 

Lists can be nested:

>> mymatrix = {{1, 2}, {3, 4}, {5, 6}}; 

There are various ways of extracting elements from a list:

>> mymatrix[[2, 1]] 3 >> mymatrix[[;;, 2]] {2,4,6} >> Take(mylist, 3) {a,b,c} >> Take(mylist, -2) {c,d} >> Drop(mylist, 2) {c,d} >> First(mymatrix) {1,2} >> Last(mylist) d >> Most(mylist) {a,b,c} >> Rest(mylist) {b,c,d} 

Lists can be used to assign values to multiple variables at once:

>> {a, b} = {1, 2}; >> a 1 >> b 2 

Many operations, like addition and multiplication, “thread” over lists, i.e. lists are combined element-wise:

>> {1, 2, 3} + {4, 5, 6} {5,7,9} >> {1, 2, 3} * {4, 5, 6} {4,10,18} 

It is an error to combine lists with unequal lengths:

>> {1, 2} + {4, 5, 6} Lists of unequal length cannot be combined: {1,2}+{4,5,6} {1,2}+{4,5,6} 

Clone this wiki locally