ふたつのリストを混ぜる
リストを交互に分配
これ読みながら逆ってどうやんのって思ったのでちょっと書いた。
(define (twist-list li1 li2 :optional (result '())) (if (and (null? li1) (null? li2)) result (let ((li1-len (length li1)) (li2-len (length li2))) (if (> li1-len li2-len) (twist-list (cdr li1) li2 (cons (car li1) result)) (twist-list li1 (cdr li2) (cons (car li2) result)))))) (twist-list '(1 2 3 4 5) '(a b c d)) ;; (5 d 4 c 3 b 2 a 1)
I need consider...