Next: , Previous: List Modification, Up: Lists


22.2.7 List Searching

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 lst k) for k less than the length of lst. If x is not in lst, then return #f.

— 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 lst k) for k less than the length of lst. If x is not in lst, then return #f.

— Scheme Procedure: member x lst [=]
— C Function: scm_member (x, lst, =)

Return the first sublist of lst whose car is equal to x. If x does no appear in lst, return #f. Equality is determined by the equality predicate =, or equal? if = is not given.