1
A
回答
1
這類問題的一般方法是解決第一個元素的問題,然後爲其餘的問題進行遞歸。如果你解決這個問題:
(zip '(2) '(1))
那麼遞歸看起來像這樣(與終止條件表示在前):
(define (zip list1 list2)
(cond ((null? list1) list2)
((null? list2) list1)
(else (cons (car list1)
(cons (car list2)
(zip (cdr list1) (cdr list2)))))))
> (zip '(a b c) '(1))
(a 1 b c)
> (zip '(a b c) '(1 2 3))
(a 1 b 2 c 3)
> (zip '(a) '(1 2 3))
(a 1 2 3)
注意兩個null?
條款。這允許list1
或list2
是不同的大小;最後會留下什麼。
1
如果你正在尋找學習電池包括球拍方面:
#lang racket
(define (intertwine L1 L2)
(flatten (map cons L1 L2)))
快速測試。
> (intertwine '(2 4 6) '(1 3 5))
'(2 1 4 3 6 5)
注意作品在同等大小的名單的情況下,每提出的問題。不會像@ GoZoner的答案那樣處理長度差異。
重新實現函數是練習小規模編程的好方法。學習圖書館將會提高生產力和更簡潔的代碼。恕我直言
相關問題
- 1. onCreateContextMenu兩個列表
- 2. 從兩個列表
- 3. 從兩個列表
- 4. 有兩個列表
- 5. HQL。兩個列表
- 6. 在兩個列表
- 7. 兩個列表的排列
- 8. 兩個查詢到兩個列表?
- 9. 兩個表計數兩個seprate列
- 10. 循環兩個列表的列表
- 11. 乘兩個列表使用列表-erlang
- 12. 交換兩個子列表列表中
- 13. 列表除了和union兩個列表
- 14. 排序列表其他兩個列表
- 15. 將列表劃分爲兩個列表
- 16. 分離列表分成兩個列表
- 17. Python-將兩個列表組合成一個列表列表
- 18. VBA找到兩個列表
- 19. 比較兩個列表linq
- 20. 兩個列表組合
- 21. 比較兩個列表
- 22. Prolog統一兩個列表
- 23. SML - 合併兩個列表
- 24. 比較兩個列表
- 25. R:找到兩個列表
- 26. 迴路在兩個列表
- 27. 比較兩個列表
- 28. Groovy合併兩個列表?
- 29. 序言 - 兩個列表但
- 30. 獲取兩個列表
你到目前爲止嘗試過什麼?發佈你的代碼!堆棧溢出是不是讓你的功課做的地方免費 – 2013-05-07 20:10:00
(定義(名酒列表1列表2) (如果[(空?列表1)空] (利弊第一列表1 (名酒??? (入住希望( (2 4 6)'(1 3 5))'(2 1 4 3 6 5)) – user2359807 2013-05-07 20:33:26
這不是家庭作業,只是我自己的學習計劃 – user2359807 2013-05-07 20:40:37