Next: List Mapping, Previous: List Modification, Up: Lists [Contents][Index]

The following procedures search lists for particular elements. They use
different comparison predicates for comparing list elements with the
object to be searched. When they fail, they return `#f`

, otherwise
they return the sublist whose car is equal to the search object, where
equality depends on the equality predicate used.

- Scheme Procedure:
**memq***x lst* - C Function:
**scm_memq***(x, lst)* Return the first sublist of

`lst`whose car is`eq?`

to`x`where the sublists of`lst`are the non-empty lists returned by`(list-tail`

for`lst``k`)`k`less than the length of`lst`. If`x`does not occur in`lst`, then`#f`

(not the empty list) is returned.

- Scheme Procedure:
**memv***x lst* - C Function:
**scm_memv***(x, lst)* Return the first sublist of

`lst`whose car is`eqv?`

to`x`where the sublists of`lst`are the non-empty lists returned by`(list-tail`

for`lst``k`)`k`less than the length of`lst`. If`x`does not occur in`lst`, then`#f`

(not the empty list) is returned.

- Scheme Procedure:
**member***x lst* - C Function:
**scm_member***(x, lst)* Return the first sublist of

`lst`whose car is`equal?`

to`x`where the sublists of`lst`are the non-empty lists returned by`(list-tail`

for`lst``k`)`k`less than the length of`lst`. If`x`does not occur in`lst`, then`#f`

(not the empty list) is returned.See also SRFI-1 which has an extended

`member`

function (SRFI-1 Searching).