0
votes

Comment redistribuer le contenu d'un tableau 2-D?

Y a-t-il un moyen rapide de convertir xxx

à xxx


1 commentaires

BTW, qu'avez-vous essayé?


4 Réponses :


0
votes
(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).

0 commentaires

-2
votes

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.


0 commentaires

4
votes
(use '[clojure.core.matrix])

(let [a [["a" "b"]
         ["c" "d"]
         ["e" "f"]]]
    (transpose a))

0 commentaires

1
votes

Voici une approche qui utilise Variagindic mappe (ou mapv ) avec appliquer : xxx


0 commentaires