我有一个关于按每个列表元素的属性对列表进行分区的问题。如何按每个元素的属性对列表进行分区
给定一个List[E]
和功能f(e: E): Int
如何可以将列表被划分成List[List[E]]
其中当施加f
每个元素是具有相同值的元素的一个List[E]
?
例如,假设类型E
表示物理位移,并且f
测量导致大于或等于零的整数的位移。
val ms = List(a, b, c, d, e)
f(a) = 1
f(b) = 3
f(c) = 1
f(d) = 4
f(e) = 3
所得分区将是
List(List(a, c), List(b, e), List(d))
该实施例表明的f
的值可以包括但间隙列表的列表不应包含任何空列表。
这解决了我的问题。谢谢。 –