from collections import defaultdict
list1 = [{"name": "name1", "zipcode": "zipcode1", "id": "id1"}, {"name": "name2","zipcode": "zipcode2", "id": "id2"}, {"name": "name1", "zipcode": "zipcode3", "id": "id1"}]
temp = defaultdict(list)
for i in range(len(list1)):
for ele in list1[i]:
if list1[i][ele] not in temp[ele]:
temp[str((ele))].append(list1[i][ele])
print(temp)
> output :{'name': ['name1', 'name2'], 'zipcode': ['zipcode1', 'zipcode2', 'zipcode3'], 'id': ['id1', 'id2']}
in this way your dictionary can be seem more clearly. I used for solution collection defaultdict .
- I make a list called temp.
- With for loop called the elements of dictionary which are list1[0],list1[1],list1[2]
- If values not in temp dictionary, values are appended in temp to make a list of values.
- When it is printed, as you can see, a dictionary that looks clearer and better when it works.
I hope my code is useful for you.
You can learn more about defaultdict :
How does collections.defaultdict work?