2010-12-06 12 views

Antwort

15
user> (partition-by identity [1 2 2 3 3 3 4 2 2 1 1 1]) 
((1) (2 2) (3 3 3) (4) (2 2) (1 1 1)) 

user> (vec (map vec (partition-by identity [1 2 2 3 3 3 4 2 2 1 1 1]))) 
[[1] [2 2] [3 3 3] [4] [2 2] [1 1 1]] 
+0

Super! Wusste gar nicht, dass es eine solche Funktion (Identität) gibt. Vielen Dank! – aeter

+0

Anstelle von (vec (map vec ...)) können Sie die clojure.walk Funktionen verwenden: (clojure.walk/walk vec vec ...) – amalloy

2

(Karte (juxt Zählung zuerst) (Partition-by Identität [1 1 1 3 2 2]))

((3 1) (1 3) (2 2))

Drei, dann eins drei, gefolgt von zwei Zweien!

Verwandte Themen