you can use group-by as you showed and then reduce-kv over them map replacing each key with '(count key)'...I don't see a way of doing this in one-pass using group-by alone...

Jim


On 08/07/13 20:25, Colin Yates wrote:
Hi,

I have a sequence of items and want to group them into categories, the value of which is a function of the item. This sounds exactly what group-by is after.

The kicker is that the function could return multiple values. Imagine each item was a date range and I wanted to group them by the number of days in that date range.

For example, (group-by #(range 1 (inc %)) [1 2 3] => {(1) [1] (1 2) [2] (1 2 3) [3]}. I want {1 [1] 2 [1 2] 3 [1 2 3]}.

Any ideas?

Thanks!

Col
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to