Ich bin ein bisschen fest auf dieses Problem. Ich fühle mich, als würde ich "rückwärts denken" und es verwirrt mich ein bisschen.Funktionelle Möglichkeit, eine Karte von Listen in eine Liste von Karten zu teilen
Ich habe eine Map[Long, Seq[String]]
, die ich in eine Seq[Map[Long, String]]
konvertieren möchte. Die andere Richtung zu gehen ist ziemlich einfach, da wir Elemente einfach gruppieren können, aber ich bin mir nicht sicher, wie man das auf eine funktionale Art aufteilt.
So
val x = Map(1 -> List("a","b","c"), 2 -> List("d", "e"), 3 -> List("f"))
List(Map(1 -> "a", 2 -> "d", 3 -> "f"), Map(1 -> "b", 2 -> "e"), Map(1 -> "c"))
werden soll ich wurde entlang der Linien denken x.partition
verwenden und dann auf jedes resultierenden Tupel Rekursion, aber ich bin nicht wirklich sicher, was ich würde Partition auf:/
Ich schreibe in Scala, aber jede funktionale Antwort ist willkommen (Sprache Agnostiker).
Ich bin eher neugierig, warum Sie diese Operation benötigen. Es scheint ein bisschen überraschend. – dfeuer