この質問は以前に尋ねられたことを知っています。私の解決策は多くの回答と同じですが、この問題の一般的な解決策では正しく機能しない特別なテスト ケースがあります。
他の多くの場合と同様に、zipの問題に対して私が見つけた解決策は
(define (zip l1 l2)(map list l1 l2))
. . .これは、次のような特定の引数でうまく機能します
(zip '(a b c) '(1 2 3)) => ((a 1) (b 2) (c 3))
しかし、引数が次のように長さと一致しない場合でも、zip関数が機能するようにしたい
(zip '(a b c) '(1)) => ((a 1) (b ()) (c ()))
私はこの問題の解決策を見つけていません。また、各リストが任意の長さにできる場合にアプローチする方法がよくわかりません。