How do I build a dict using list comprehension?
I have two lists.
series = [1,2,3,4,5]
categories = ['A', 'B', 'A', 'C','B']
I want to build a dict where the categories are the keys.
Thanks for your answers I’m looking to produce:
{'A' : [1, 3], 'B' : [2, 5], 'C' : [4]}
Because the keys can’t exist twice
You have to have a list of tuples. The tuples are key/value pairs. You don’t need a comprehension in this case, just zip:
Produces
{'A': 3, 'B': 5, 'C': 4}(as pointed out by comments)Edit: After looking at the keys, note that you can’t have duplicate keys in a dictionary. So without further clarifying what you want, I’m not sure what solution you’re looking for.
Edit: To get what you want, it’s probably easiest to just do a for loop with either setdefault or a defaultdict.
That should produce
{'A': [1, 3], 'B': [2, 5], 'C': [3]}