繁体   English   中英

Haskell 列表元素

[英]Haskell element of list

elem (1,2,3) [(1,2,3)] -> works (true)

elem (1,2,_) [(1,2,3)] -> doesnt work (want it return true as well)

我想要做的是,如果元组的前两个元素与列表中的一个匹配,则返回 true。

您可以使用前奏 function any来确定列表中的至少一个元素是否满足给定条件(本例中的条件是“它与模式(1, 2, _)匹配”)。

这种情况的一个例子是:

any (\x -> case x of (1,2,_) -> True; _ -> False) [(1,2,3),(4,5,6)]

或者更简洁一点:

or [True | (1,2,x) <- [(1,2,3),(4,5,6)]]

如果先将三元组转换为对,则可以使用elem

elem (1,2) $ map (\(a,b,_) -> (a,b)) [(1,2,3),(4,5,6)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM