我在下面有字典列表,并将所有字典合并为一个
r = [{'Name': 'Dr. Tajwar Aamir MD',
'Specialised and Location': 'Pediatrics, Princeton, NJ'},
{'Name': 'Dr. Bernard Aaron', 'Specialised and Location': 'Health'},
{'Name': 'Dr. Joseph Aaron MD',
'Specialised and Location': 'Internal Medicine, Short Hills, NJ'},
{'Name': 'Dr. Michael Aaron DO',
'Specialised and Location': 'Cardiology, Neptune, NJ'}]
result = {"Name": [], "Specialised and Location": [] for i in r}
#result["Name"].append(Name)
#result["Specialised and Location"].append(Specialised and Location)
所需的输出
{"Name":['Dr. Tajwar Aamir MD','Dr. Bernard Aaron','Dr. Joseph Aaron MD','Dr. Michael Aaron DO'],
"Specialised and Location":['Pediatrics, Princeton, NJ','Health','Internal Medicine, Short Hills, NJ','Cardiology, Neptune, NJ']}
答案 0 :(得分:1)
r = [{'Name': 'Dr. Tajwar Aamir MD',
'Specialised and Location': 'Pediatrics, Princeton, NJ'},
{'Name': 'Dr. Bernard Aaron', 'Specialised and Location': 'Health'},
{'Name': 'Dr. Joseph Aaron MD',
'Specialised and Location': 'Internal Medicine, Short Hills, NJ'},
{'Name': 'Dr. Michael Aaron DO',
'Specialised and Location': 'Cardiology, Neptune, NJ'}]
result={'Name':[x['Name'] for x in r], 'Specialised and Location':[x['Specialised and Location'] for x in r]}
print(result)
输出
{'Name': ['Dr. Tajwar Aamir MD', 'Dr. Bernard Aaron', 'Dr. Joseph Aaron MD', 'Dr. Michael Aaron DO'], 'Specialised and Location': ['Pediatrics, Princeton, NJ', 'Health', 'Internal Medicine, Short Hills, NJ', 'Cardiology, Neptune, NJ']}
答案 1 :(得分:1)
使用简单的for循环
例如:
r = [{'Name': 'Dr. Tajwar Aamir MD',
'Specialised and Location': 'Pediatrics, Princeton, NJ'},
{'Name': 'Dr. Bernard Aaron', 'Specialised and Location': 'Health'},
{'Name': 'Dr. Joseph Aaron MD',
'Specialised and Location': 'Internal Medicine, Short Hills, NJ'},
{'Name': 'Dr. Michael Aaron DO',
'Specialised and Location': 'Cardiology, Neptune, NJ'}]
result = {"Name": [], "Specialised and Location": []}
for i in r:
result["Name"].append(i["Name"])
result["Specialised and Location"].append(i["Specialised and Location"])
print(result)
或
result = {"Name": list(map(lambda d: d['Name'], r)), "Specialised and Location": list(map(lambda d: d['Specialised and Location'], r))}
输出:
{'Name': ['Dr. Tajwar Aamir MD',
'Dr. Bernard Aaron',
'Dr. Joseph Aaron MD',
'Dr. Michael Aaron DO'],
'Specialised and Location': ['Pediatrics, Princeton, NJ',
'Health',
'Internal Medicine, Short Hills, NJ',
'Cardiology, Neptune, NJ']}
答案 2 :(得分:1)
您可以尝试:
from collections import defaultdict
my_dict = defaultdict(list)
for k, v in (item for e in r for item in e.items()):
my_dict[k].append(v)
print(dict(my_dict))
# output:
# {'Name': ['Dr. Tajwar Aamir MD', 'Dr. Bernard Aaron', 'Dr. Joseph Aaron MD', 'Dr. Michael Aaron DO'], 'Specialised and Location': ['Pediatrics, Princeton, NJ', 'Health', 'Internal Medicine, Short Hills, NJ', 'Cardiology, Neptune, NJ']}