What I have:
d1=[{'type':'fruit','name':'apple'},{'type':'fruit','name':'orange'},{'type':'vehicle','name':'car'},{'type':'vehicle','name':'bike'}]
What I did:
res=[{i['type']:i['name']} for i in d1]
What I received:
res=>[{'fruit': 'apple'}, {'fruit': 'orange'}, {'vehicle': 'car'}, {'vehicle': 'bike'}]
But What I need:
res=>{'fruit': ['apple','orange'], 'vehicle': ['car','bike']}
How to achieve this? thanks in advance
UPDATE This will be more readable. But I want one liner instead!
u={}
for i in d1:
if u.get(i['type']):
u[i['type']].append(i['name'])
else:
u[i['type']]=[i['name']]