問題是什麼時候列表有不同的長度,任何想法如何做到這一點?關於如何在博士中交錯兩個列表的任何想法?
我不得不使用功能,如地圖或類似的
的東西這是我寫的,到目前爲止,它的工作原理相同長度的名單,但它也需要用不同長度的名單工作的代碼。謝謝。
(define (interleave list1 list2)
(flatten [map (lambda (x y) (cons x (cons y null))) list1 list2]))
如果名單有不同的長度,這是我所得到的:
地圖:所有的數組必須有相同的大小;論據:# '(1 2 3 4 5)'(ABC)
我試圖獲得(1 A 2 B 3 C 4 5)
請澄清你的問題:陳述你正在做什麼,顯示你的代碼和你卡在哪裏,以及你想要實現什麼 – Soma
我試圖交叉不同長度的列表。 Map函數只需要長度相同的列表,所以問題在於它們具有不同的長度。這就是我想要達到的目標:例如,如果你有兩個列表,如(1 2 3 4 5 6)(a b c),結果應該是(1 a 2 b 3 c 4 5 6)。或者如果你有(1 2 3)(a b c d e f),那麼(1 a 2 b 3 c d e f) – user3786933
所以編輯你的問題;)並使用格式化工具來突出你的代碼。請參閱這裏的指導:http://stackoverflow.com/help/how-to-ask – Soma