我有一个关于按每个列表元素的属性对列表进行分区的问题。
给定一个List[E]和一个函数f(e: E): Int,如何将列表划分为一个List[List[E]],其中每个元素都是在应用List[E]时具有相同值的元素中的一个f?
例如,假设 typeE表示物理位移并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可以包含间隙,但列表列表不应包含任何空列表。