
import qualified Data.Map as Map
-- if your keys are unique
let xs = [("Item0", ["a","b","c"]), ("Item1", ["x","y"]), ("Item2",
["abc","def"])]
Map.fromList xs
-- if you want to combine values for keys that are equal
let xs = [("Item0", ["a","b","c"]), ("Item1", ["x","y"]), ("Item0",
["abc","def"])]
Map.fromListWith (++) xs
--
Sylvain
2015-11-10 3:07 GMT+01:00 Dan Stromberg
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.defaultdict
Is there an equivalent in Haskell?
Thanks!
-- Dan Stromberg
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners