У меня есть эти данные:
//H1 = house name
//H2 = price
//H3 = size
//H4 = location
//List(H1, H2, H3, H4)
val houses = List(
("House_A", 250, 120, "NYC"),
("House_B", 90, 100, "BR"),
("House_C", 300, 500, "BR"),
("House_D", 120, 90, "NYC"),
("House_E", 320, 250, "BR"),
("House_F", 290, 450, "SA"),
("House_G", 290, 450, "NYC"),
("House_F", 450, 100, "FR"),
("House_H", 210, 92, "SA"),
("House_I", 240, 100, "FR"),
("House_J", 395, 80, "FR"),
("House_K", 140, 125, "NYC"),
("House_L", 900, 250, "BR"),
("House_M", 300, 110, "FR")
)
и я хочу попасть в "Список мест с домами по цене (H1)> 100 и более чем один дом" в этом формате:
List((H4, List(H1,H2,H3)))
Проблема
Моя проблема в том, что я не могу понять, как удалить H4 (место) из списка, который должен быть List ( H1, H2, H3).
То, что я пытался
Это так же хорошо, как я понял
houses
.filter(_._2 > 100)
.groupBy(_._4)
.filter(a => a._2.length > 1) // this is the map I talk about in the title: Map(H4 -> List(H1, H2, H3, H4))
.toList
List(
(BR,List((House_C,300,500,BR), (House_E,320,250,BR), (House_L,900,250,BR))),
(NYC,List((House_A,250,120,NYC), (House_D,120,90,NYC), (House_G,290,450,NYC), (House_K,140,125,NYC))),
(FR,List((House_F,450,100,FR), (House_I,240,100,FR), (House_J,395,80,FR), (House_M,300,110,FR))),
(SA,List((House_F,290,450,SA), (House_H,210,92,SA))))