Thanks.Is there a way of cons'ing on the single values one at a time, that will avoid the slowness of ++ ?I'll be adding values one at a time, and yes, my keys aren't necessarily unique.These are some good leads.--On Mon, Nov 9, 2015 at 7:45 PM, Sylvain Henry <hsyl20@gmail.com> wrote:SylvainMap.fromListWith (++) xs-- if you want to combine values for keys that are equalimport qualified Data.Map as Map-- if your keys are uniquelet xs = [("Item0", ["a","b","c"]), ("Item1", ["x","y"]), ("Item2", ["abc","def"])]Map.fromList xs
let xs = [("Item0", ["a","b","c"]), ("Item1", ["x","y"]), ("Item0", ["abc","def"])]
--2015-11-10 3:07 GMT+01:00 Dan Stromberg <strombrg@gmail.com>:_______________________________________________I'm spending a little time here and there to learn some Haskell. I'm coming from a chiefly Python/C/bash background.I want to build a Data.Map where the keys are strings, and the values are lists of strings.In Python, collections.defaultdict(list) makes this pretty straightforward. It gives a hash table ("dict") that has values that default to an empty list, since list() produces an empty list. More info here: https://docs.python.org/3/library/collections.html#collections.defaultdictIs there an equivalent in Haskell?Thanks!--Dan Stromberg
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
Dan Stromberg
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners