Next: , Previous: , Up: Lists   [Contents][Index]

#### 5.5.2.3 Accessing List Elements

The most flexible method of accessing an element in a list is via a combination of the `car` and `cdr` functions. There are other functions which provide an easier way to get at the elements in a flat list. These will usually be faster than a string of `car` and `cdr` operations.

Function: nth count list

This function returns the element count elements down the list, therefore to access the first element use a count of zero (or even better the `car` function). If there are too few elements in the list and no element number count can be found `()` is returned.

```(nth 3 '(0 1 2 3 4 5))
⇒ 3

(nth 0 '(foo bar)
⇒ foo
```
Function: nthcdr count list

This function takes the cdr of the list list count times, returning the last cdr taken.

```(nthcdr 3 '(0 1 2 3 4 5))
⇒ (3 4 5)

(nthcdr 0 '(foo bar))
⇒ (foo bar)
```
Function: last list

This function returns the last element in the list list. If the list has zero elements `()` is returned.

```(last '(1 2 3))
⇒ 3

(last '())
⇒ ()
```
Function: member object list

This function scans through the list list until it finds an element which is `equal` to object. The tail of the list (the cons cell whose car is the matched object) is then returned. If no elements match object then the empty list `()` is returned.

```(member 'c '(a b c d e))
⇒ (c d e)

(member 20 '(1 2))
⇒ ()
```
Function: memq object list

This function is similar to `member` except that comparisons are performed by the `eq` function not `equal`.

Next: , Previous: , Up: Lists   [Contents][Index]