range
, map
, and apply
(list exp1 exp2 ... expn)
- create a list by evaluating each of the
expressions and then joining together their values.
(make-list n val)
- make a list of n
copies of val
.
(range n)
- create a list of all the natural numbers strictly less
than n
(starting with 0
).
(range s n)
- create a list of all the natural numbers between m
(inclusive) and n
(exclusive).
(map fun lst)
- apply the function to each element of the list.
(map fun (list val1 val2 ... valn))
gives you
(list (fun val1) (fun val2) ... (fun valn))
.
(apply fun lst)
- apply the function to all the elements of the
list, en masse.
(length lst)
- Determine how many elements are in a list.
(reverse lst)
- Create a new list with the elements in the opposite
order.
(append lst1 lst2)
- Join two lists together.
(list-take lst n)
- Build a new list consisting of the first n
elements
of lst
.
(list-drop lst n)
- Build a new list consisting of all but the first n
elements of lst
.
(list-ref lst n)
- Extract element n
of the list. (Remember that
lists start with element 0.)
(index-of lst val)
- Determine the position of val
in lst
. (It
turns out the position is how many values need to be dropped
from lst
to reach val
.)
a. Review the list of procedures above.
b. If you have not done so already, you may want to open a separate tab or window in your browser for the reading on list basics and the reading on transforming lists.
c. Load the lab. The person closer to the board is Side A and the person further from the board is Side B.
d. Get started!