定义一个函数,从lazy list的lazy list中过滤项目。该函数应该有两个参数:延迟列表和数字的延迟列表。只有长度大于或等于指定值的延迟列表才会保留在结果列表中。
示例:
lazyfilter(LazyList(LazyList(1,2,3), LazyList(2,3), LazyList(4.5) ), 3 )
-> LazyList( LazyList(1,2,3))
我的尝试:
def lazyfilter[A](listOfLists: LazyList[LazyList[A]], filter: A): LazyList[LazyList[A]] = {
listOfLists.filter(_.length.equals(filter))
}
println(lazyfilter(LazyList(LazyList(1,2,3), LazyList(2,3), LazyList(4.5) ), 3 ))
对于大于或等于指定值的情况,有什么想法吗??
1条答案
按热度按时间hgqdbh6s1#
只需将
filter
参数声明为Int
即可。此外,您可能不希望计算整个列表,因为最多占用filter
就足以按长度进行过滤: