我想在Haskell中實現一個函數,它將採用任意整數列表xs
和整數k
,並返回一組列表,其中包含k
可能的位置。試圖改進haskell中處理列表的當前醜陋的一段代碼
例如,對於一個xs = [0, 1]
和k = 2
,我們不得不
myFunction [0, 1] 2 = [ [2, 0, 1], [0, 2, 1], [0, 1, 2] ]
我實現它作爲
putOn xs x i = (take i xs) ++ (x:(drop i xs))
putOnAll xs x = map (putOn xs x) [0..(length xs)]
然而,我覺得一定有其他更聰明的方式來實現相同。我的代碼好像有人試圖用導彈殺死一個bug。任何人都可以提出一些辦法來做比這些代碼聰明的辦法嗎?
感謝