#将list1转化为list4形式
list1 = [
{'name': 'alex', 'hobby': '喝酒'},
{'name': 'alex', 'hobby': '抽烟'},
{'name': 'alex', 'hobby': '烫头'},
{'name': 'alex', 'hobby': 'Massage'},
{'name': 'wusir', 'hobby': '喊麦'},
{'name': 'wusir', 'hobby': '街舞'},
]
list4 = [
{'name': 'alex', 'hobby_list': ['喝酒', '抽烟', '烫头', 'Massage']},
{'name': 'wusir', 'hobby_list': ['喊麦', '街舞']}
]
#通过构建字典框架,再对键进行not in判断,实际上是对不确定具体值的键进行了分类
dic = {}
for d in list1:
if d['name'] not in dic:
dic[d['name']] = {'name': d['name'], 'hobby_list': [d['hobby']]}
else:
dic[d['name']]['hobby_list'].append(d['hobby'])
list_new = list(dic.values())
print(dic)
print(list_new)