【发布时间】:2016-11-01 16:07:20
【问题描述】:
我有问题,问题是;
从列表中删除每个第 N 个元素,并将其替换为第二个参数中给出的列表中的元素。
示例;
dropandreplace “abcdefgh” 3 “hgfedcba”
输出:“abhdeggh”
删除和替换 [1,0,3,0,5,0,7,0] 2 [2,4,6,8]
输出:[1,2,3,4,5,6,7,8]
我确实实现了该代码;
dropn :: [Char] -> Int -> [Char]
dropn list n = [ i | (i,c) <- ( zip list [1,2..]), (mod c n) /= 0 ]
但是这段代码是从列表中删除第 N 个元素。如何替换其他列表的元素??
【问题讨论】:
-
如果给定
n,列表参数的长度比不正确,应该怎么办? (例如dropandreplace [dropandreplace [1,0,3,0,5,0,7,0] 2 [2,4,6]) -
您为实际问题尝试了什么?什么不工作?这些是good question 的必要部分。
-
给出错误消息,例如“第二个列表没有足够的长度”@mnoronha
标签: list haskell list-comprehension