Lin*_*hen 1 haskell list-comprehension
我想定义一个函数复制,仅使用列表推导来复制数值列表,例如:
replicate [5,1,3,2,8,1,2]
output: [5,5,5,5,5,1,3,3,3,2,2,8,8,8,8,8,8,8,8,1,2,2]
Run Code Online (Sandbox Code Playgroud)
我知道这很容易使用内置函数的'replicate',但只允许列表理解,我该怎么办呢?
谢谢!
整洁的小问题.我这样解决了.
replicate list = [ a | a <- list, _ <- [1..a]]
Run Code Online (Sandbox Code Playgroud)
序曲>复制[5,1,3,2,8,1,2]
[5,5,5,5,5,1,3,3,3,2,2,8,8,8,8,8,8,8,8,1,2,2]
它接受列表中的每个值,创建自己的许多副本,然后移动到下一个值.
踢球:
import Control.Monad
import Control.Monad.Instances
repList = concatMap $ join replicate
Run Code Online (Sandbox Code Playgroud)