Y a-t-il un moyen rapide de convertir à p>
4 Réponses :
(def x [["a" "b"]
["c" "d"]
["e" "f"]] )
(def y [ (mapv first x)
(mapv second x) ] ) ; or just `map`
(println y)
=> [[a c e] [b d f]]
If you want general manipulation of 2D "arrays" (vector of vectors), please see tupelo.arrays (e.g. the transpose function).
Je ne pense pas qu'il existe une manière "rapide", car les tableaux ont une longueur fixe qui est attribuée à un morceau de mémoire lors de l'initialisation. Il devra exister une extraction des données des matrices de courant, puis les matrices de taille différentes devront être initialisées et remplies des données extraites. Il existe diverses fonctions «(ONU) d'emballage» dans de nombreuses langues de programmation, mais vous souhaiterez peut-être envisager d'utiliser des listes lorsque vous avez besoin de conteneurs flexibles: l'addition ou l'élimination des éléments dans une liste liée peuvent être effectués dans O (1) heure. p>
(use '[clojure.core.matrix])
(let [a [["a" "b"]
["c" "d"]
["e" "f"]]]
(transpose a))
Voici une approche qui utilise Variagindic mappe code> (ou mapv code>) avec appliquer code>:
BTW, qu'avez-vous essayé?