J'ai une structure de n-uplets imbriqués comme (String,(String,Double))
et je veux la transformer en (String,String,Double)
. J'ai différents types de tuple imbriqués, et je ne veux pas les transformer manuellement. Y a-t-il un moyen pratique de le faire?Comment aplatir un tuple imbriqué?
16
A
Répondre
21
6
Il n'y a pas d'aplatissement sur un Tupple. Mais si vous connaissez la structure, vous pouvez faire quelque chose comme ceci:
implicit def flatten1[A, B, C](t: ((A, B), C)): (A, B, C) = (t._1._1, t._1._2, t._2)
implicit def flatten2[A, B, C](t: (A, (B, C))): (A, B, C) = (t._1, t._2._1, t._2._2)
Cela va aplatir Tupple avec tous les types. Vous pouvez également ajouter le mot clé implicite à la définition. Cela ne fonctionne que pour trois éléments. Vous pouvez aplatir Tupple comme:
(1, ("hello", 42.0)) => (1, "hello", 42.0)
(("test", 3.7f), "hi") => ("test", 3.7f, "hi")
multiples imbriquées Tupple ne peut pas être plaquer au sol, car il n'y a que trois éléments du type de retour:
((1, (2, 3)),4) => (1, (2, 3), 4)
Questions connexes
- 1. Aplatir un tableau imbriqué
- 2. Aplatir tuple comme un sac
- 3. Cochon: aplatir un tuple comme un sac
- 4. Aplatir un tableau imbriqué d'objets sur un champ tableau
- 5. Aplatir un PHP tableau imbriqué dans la chaîne hiérarchique représentations
- 6. Affecter un produit/un tuple imbriqué à un tableau [Numérique]
- 7. Comment aplatir un tableau?
- 8. Python - Dict imbriqué, ou hachage d'un tuple?
- 9. liste Trier par tuple imbriqué valeurs
- 10. comment aplatir un WPF TreeView
- 11. Comment aplatir un tableau clampé
- 12. xstream aplatir un objet
- 13. Aplatir un tableau PHP
- 14. Comment transformer un tuple en un tuple de tuples?
- 15. Comment aplatir un objet dans une propriété?
- 16. Comment aplatir un tableau en PHP
- 17. Comment aplatir un tableau dans jQuery?
- 18. Mysql comment aplatir un ensemble de résultats
- 19. Comment aplatir un ArrayBuffer dans Scala
- 20. GhostScript ou ImageMagick - comment "aplatir" un PDF?
- 21. commande arbitraire de tuple imbriqué dans une liste en Python
- 22. Comment convertir un tuple imbriqué de tuples et de listes en listes de listes en Python?
- 23. Comment manipuler un tuple qui contient plusieurs tuple
- 24. Comment déstructurer un tuple à plusieurs tuple dans scala
- 25. Haskell: comment mapper un tuple?
- 26. tuple identité lors de l'appel de tuple sur un tuple
- 27. xslt aplatir un fichier xml
- 28. Aplatir un tableau 2D Haskell
- 29. Comment joindre/aplatir ces tables
- 30. Comment aplatir hachage pour Redis