我是Haskell中的新成員。我試圖用遞歸寫一個函數,給定兩個列表(它們需要是相同類型的),交織它們的元素(將元素在第一個和第二個列表之間交替)。當其中一個列表中沒有更多元素時,它會停止並且結果就是達到的列表。我輸出的如何從兩個列表中創建列表以及來自這些列表的元素
interChange :: [a] -> [b] ->[(a,b)]
interChange _ [] = []
interChange [] _ = []
interChange (x:xs) (y:ys) = (x,y) : interChange xs ys
例如:需要的輸出
interChange [1,2,3] [4,5,6]
[(1,4),(2,5),(3,6)]
例子是:
interChange [1,2,3] [4,5,6]
[1,4,2,5,3,6]
感謝您的幫助
非常感謝你的回放,你的代碼非常好。但是,它不能滿足最後的條件。當其中一個列表中沒有其他元素時,它停止。你的代碼給出如下輸出:[1,2,3,4] [6,7,8] = [1,6,2,7,3 ,8,4],但它應該是[1,6,2,7,3,8] –
我相信你可以弄清楚如何修改代碼以適應練習。 –