【发布时间】:2019-09-11 17:43:55
【问题描述】:
我想使用 Haskell 中的标准 Prelude(无递归,无列表推导)过滤元组列表,然后输出整数列表。它应该检查包含整数的三元组列表,例如,
[(1,2,3), (2,3,7), (4,5,20)]
并查看元素#1 和#2 的总和是否等于元素#3。如果是,则将元素#3 放入列表中,然后输出列表。这是我正在寻找的输出:
>sumOfElements [(1,2,3), (2,3,7), (4,5,9)]
[3,9]
这是我尝试过的:
sumsOfElements :: [(Int, Int, Int)] -> [Int]
sumsOfElements list = filter (\(a,b,c) -> a+b==c) list
这种工作,但它输出满足条件的元组列表。
>sumOfElements [(1,2,3), (2,3,7), (4,5,9)]
[(1,2,3), (4,5,9)]
我不确定如何从元组中获取 c 并将该元素附加到新的输出列表中。
【问题讨论】:
标签: function haskell filter functional-programming tuples