(zipmap coll1 coll2) should be faster than (apply hash-map (interleave
coll1 coll2)) and the doc description hints that's what it was made
for.

On Aug 24, 8:25 am, Garth Sheldon-Coulson <g...@mit.edu> wrote:
> Welcome again.
>
> Here's another way. Not sure if it's any more or less efficient, but it's
> the way my brain works.
>
> => (defn map-hashmap [coll f]
>        (apply hash-map (interleave coll (map f coll))))
> #'user/map-hashmap
>
> => (map-hashmap [1 2 3] #(+ % 3))
> {1 4, 2 5, 3 6}
>
> On Mon, Aug 24, 2009 at 2:18 AM, Stephen C. Gilardi <squee...@mac.com>wrote:
>
>
>
> > On Aug 23, 2009, at 8:21 PM, Stan Dyck wrote:
>
> >  I'm still new to this so bear with me.
>
> > Welcome.
>
> >  I'm trying to apply a function to a seq-able thing to produce a hashmap.
> >> So for instance say the function is (inc 3).
> >> I'd like to write a function that does
>
> >> [1 2 3] --> {1 4, 2 5, 3 6}
>
> >> Can someone help me?
>
> > Here's one way:
>
> > user=> (into {} (for [i [1 2 3]] [i (+ 3 i)]))
> > {1 4, 2 5, 3 6}
>
> > --Steve
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to