;; Return a list of pairs of elements from lst1 and lst2. ;; In other words, return an association list with keys from lst1 and values from lst2. ;; The list is as long as the shortest of lst1 and lst2.![]()
![]()
(define (pair-up lst1 lst2) (pair-up-1 lst1 lst2 '()))![]()
![]()
(define (pair-up-1 lst1 lst2 res) (cond ((or (null? lst1) (null? lst2)) (reverse res)) (else (pair-up-1 (cdr lst1) (cdr lst2) (cons (cons (car lst1) (car lst2)) res)))))![]()
![]()
(define key-list '(a b c d))![]()
![]()
(define val-list '(1 2 3 4))![]()
![]()
; aref-assignment ; definition and assignment of an-a-list.![]()
![]()
(define an-a-list '()) (set! an-a-list (pair-up key-list val-lst))