Node:List Modification,
Next:List Searching,
Previous:Append/Reverse,
Up:Lists
22.2.6 List Modification
The following procedures modify an existing list, either by changing
elements of the list, or by changing the list structure itself.
list-set! list k val
|
Scheme Procedure |
scm_list_set_x (list, k, val)
|
C Function |
Set the kth element of list to val.
|
list-cdr-set! list k val
|
Scheme Procedure |
scm_list_cdr_set_x (list, k, val)
|
C Function |
Set the kth cdr of list to val.
|
delq item lst
|
Scheme Procedure |
scm_delq (item, lst)
|
C Function |
Return a newly-created copy of lst with elements
eq? to item removed. This procedure mirrors
memq : delq compares elements of lst against
item with eq? .
|
delv item lst
|
Scheme Procedure |
scm_delv (item, lst)
|
C Function |
Return a newly-created copy of lst with elements
eqv? to item removed. This procedure mirrors
memv : delv compares elements of lst against
item with eqv? .
|
delete item lst
|
Scheme Procedure |
scm_delete (item, lst)
|
C Function |
Return a newly-created copy of lst with elements
equal? to item removed. This procedure mirrors
member : delete compares elements of lst
against item with equal? .
|
delq! item lst
|
Scheme Procedure |
delv! item lst
|
Scheme Procedure |
delete! item lst
|
Scheme Procedure |
scm_delq_x (item, lst)
|
C Function |
scm_delv_x (item, lst)
|
C Function |
scm_delete_x (item, lst)
|
C Function |
These procedures are destructive versions of delq , delv
and delete : they modify the pointers in the existing lst
rather than creating a new list. Caveat evaluator: Like other
destructive list functions, these functions cannot modify the binding of
lst, and so cannot be used to delete the first element of
lst destructively.
|
delq1! item lst
|
Scheme Procedure |
scm_delq1_x (item, lst)
|
C Function |
Like delq! , but only deletes the first occurrence of
item from lst. Tests for equality using
eq? . See also delv1! and delete1! .
|
delv1! item lst
|
Scheme Procedure |
scm_delv1_x (item, lst)
|
C Function |
Like delv! , but only deletes the first occurrence of
item from lst. Tests for equality using
eqv? . See also delq1! and delete1! .
|
delete1! item lst
|
Scheme Procedure |
scm_delete1_x (item, lst)
|
C Function |
Like delete! , but only deletes the first occurrence of
item from lst. Tests for equality using
equal? . See also delq1! and delv1! .
|