Macaulay2 » Documentation
Packages » Macaulay2Doc :: append
next | previous | forward | backward | up | index | toc

append -- add an element to the end of a list



i1 : append({1, 7, 8, 3}, 3)

o1 = {1, 7, 8, 3, 3}

o1 : List
i2 : L = {"old", "old", "old"};
i3 : append(L, "new")

o3 = {old, old, old, new}

o3 : List

The new list will be of the same class as L.

i4 : K = (a, b, c);
i5 : append(K, z)

o5 = (a, b, c, z)

o5 : Sequence

Only a single element can be appended with this function. To append the elements of a list, use join. To add the new element to the beginning of the list, or at a particular index, use prepend or insert, respectively.

i6 : join(K, (x, y, z))

o6 = (a, b, c, x, y, z)

o6 : Sequence
i7 : prepend(z, K)

o7 = (z, a, b, c)

o7 : Sequence
i8 : insert(1, z, K)

o8 = (a, z, b, c)

o8 : Sequence

Append always returns a new list, rather than modifying the input list, even if L is a MutableList.

i9 : L = new MutableList from {2,3,5};
i10 : peek append(L, 7)

o10 = MutableList{2, 3, 5, 7}
i11 : peek L

o11 = MutableList{2, 3, 5}

Notice that the order of the arguments is switched in prepend versus append: we write prepend(x, L) and append(L, x). A good way to remember this is that the new element is visually placed before or after the list, depending on where we want it to appear in the output.

See also

Ways to use append :

For the programmer

The object append is a compiled function.