I expected this to work:

  (into {} (partition 2 (split (slurp "data") #",")))

But unfortunately, `into' doesn't seem to allow pushing lists of pairs
into a map.  But vectors are allowed:

  (into {} (map vec (partition 2 (split (slurp "data") #","))))

Can somebody explain why vectors are allowed and lists not?


On 2010/12/03 15:40, Laurent PETIT wrote:

> Hi,
>
> 2010/12/3 Anclj <anb...@gmail.com>
>
>     Hi,
>    
>     I have a string of data and I would like to get a map {:key
>     value, :key value, …}
>    
>     How could I do that?
>    
>     I've got:
>    
>     user> (split (slurp "data") #",")
>     ["0" "2" "1" "5" "2" "8" "3" "15" "4" "9"]
>    
>     And I would like:
>     {:0 2, :1 5, :2 8, :3 15, :4 9}
>    
>     Any idea?
>
> (let [s (split (slurp "data") #",")]
>   (zipmap (take-nth 2 s) (take-nth 2 (rest s))))
>
> HTH,
>
> --
> Laurent
>
> --
> 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 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