Quelqu'un a-t-il une idée de convertir cette liste de vecteurs en un vecteur des ensembles? Résultat doit être P> [#{2} #{1 2 3 4} #{5} #{3}]
3 Réponses :
Notez que les ensembles sont juste éléments em> des vecteurs. Ainsi, une solution est d'itérer ( carte code>) sur la liste des vecteurs et choisissez le < code> premier code> élément de chaque vecteur (c'est-à-dire l'ensemble). Cela construira une liste de ces ensembles que vous pouvez ensuite convertir en vecteur: p>
plusieurs façons d'accomplir cela. Cela dépend de vos besoins dans quelle approche que vous utilisez:
(def data '([#{2}] [#{1 2 3 4}] [#{5}] [#{3}]))
;; If you have a list of single element lists:
(mapv first data) ;; => [#{2} #{1 2 3 4} #{5} #{3}]
;; If you have a list of multiple element lists:
(vec (apply concat data)) ;; => [#{2} #{1 2 3 4} #{5} #{3}]
;; If you also want to handle multiple levels of nesting:
(vec (flatten data)) ;; => [#{2} #{1 2 3 4} #{5} #{3}]
;; If you ..;
(transduce (map first) conj data) ;; => [#{2} #{1 2 3 4} #{5} #{3}]
Un moyen que je n'ai pas vu suggéré consiste à utiliser dans code> et chat code>.
Bienvenue à cela. Il serait utile de décrire ce que vous avez tenté jusqu'à présent et de ce que vous avez des résultats. Conseil: la réponse impliquera
VEC code>.J'ai essayé
aplatiré code>, bien que cela ne fasse pas beaucoup mais convertir les vecteurs à la liste