我有一個關於按每個列表元素的屬性對列表進行分區的問題。如何按每個元素的屬性對列表進行分區
給定一個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
的值可以包括但間隙列表的列表不應包含任何空列表。
這解決了我的問題。謝謝。 –