0
votes

Tourner cette liste dans un vecteur des ensembles

Quelqu'un a-t-il une idée de convertir cette liste de vecteurs en un vecteur des ensembles? XXX PRE>

Résultat doit être P>

[#{2} #{1 2 3 4} #{5} #{3}]


2 commentaires

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 .


J'ai essayé aplatiré , bien que cela ne fasse pas beaucoup mais convertir les vecteurs à la liste


3 Réponses :


1
votes

Notez que les ensembles sont juste éléments des vecteurs.

Ainsi, une solution est d'itérer ( carte ) sur la liste des vecteurs et choisissez le < code> premier élément de chaque vecteur (c'est-à-dire l'ensemble). Cela construira une liste de ces ensembles que vous pouvez ensuite convertir en vecteur: xxx


0 commentaires

4
votes

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}]


0 commentaires

4
votes

Un moyen que je n'ai pas vu suggéré consiste à utiliser dans et chat . xxx


0 commentaires