【发布时间】:2018-12-12 09:08:41
【问题描述】:
我正在尝试在 haskell 中创建一个包含元组第二部分的列表。我正在函数内部创建元组,但是我不确定如何链接这两个(zip 和 list Making),以便我的函数可以工作。
search str goal = let letterPos =zip str [1..length(str)] in
[snd(x) | x<-letterPos, fst(letterPos)==goal]
基本上这就是我创建元组的方式:
letterPos =zip str [1..length(str)]
这就是我想使用它们的地方:
[snd(x) | x<-letterPos, fst(letterPos)==goal]
感谢您的帮助。
【问题讨论】:
-
如果您添加错误会更好。
-
不要使用
length(str),zip str [1..]就足够了,而且效率更高,因为您不必计算长度。此外,Data.List模块中有一个内置函数调用findIndices,它完全符合您的要求 -
你可能想看看
lookup函数。
标签: haskell zip tuples list-comprehension where-clause