简体   繁体   English

在Haskell中按长度过滤列表项

[英]Filter list items by length in Haskell

I have a list like ["a","ab","abc", "abcd"] 我有一个像["a","ab","abc", "abcd"]

How to get a list that only has the items which have a length > 2. 如何获取仅包含长度> 2的项目的列表。

Means the result is ["abc","abcd"]. 意味着结果是["abc","abcd"].

Natalie's answer is perfectly correct, but as an alternate form you could also write it as 娜塔莉的回答是完全正确的,但作为一种替代形式,你也可以把它写成

filter ((> 2) . length) ["a", "ab", "abc", "abcd"]

Or with list comprehension as 或者列表理解为

[str | str <- ["a", "ab", "abc", "abcd"], length str > 2]

All three are equivalent 这三个都是等价的

filter (\x -> length x > 2) ["a","ab","abc", "abcd"]

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

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