将列表list1 = [{"name": "美女", "hobby": "逛街"},
{"name": "帅哥", "hobby": "喊麦"},
{"name": "美女", "hobby": "唱歌"},
{"name": "帅哥", "hobby": "打游戏"}]
转换成[{'name': '美女', 'hobby_list': ['逛街', '唱歌']}, {'name': '帅哥', 'hobby_list': ['喊麦', '打游戏']}]形式
1 lst1 = [{"name": "美女", "hobby": "逛街"}, 2 {"name": "帅哥", "hobby": "喊麦"}, 3 {"name": "美女", "hobby": "唱歌"}, 4 {"name": "帅哥", "hobby": "打游戏"}] 5 dic = {} 6 for i in lst1: 7 if i["name"] not in dic: 8 dic[i["name"]] = [i["hobby"]] #如果键不存在则创建一个 9 else: 10 dic[i["name"]] += [i["hobby"]] #如果键已经存在了,就将新值添加上 11 lst =[] 12 for k,v in dic.items(): 13 dic1 = {} 14 dic1["name"] = k 15 dic1["hobby_list"] = v 16 lst.append(dic1) 17 print(lst)
结果对照:
1 [{'name': '美女', 'hobby_list': ['逛街', '唱歌']}, {'name': '帅哥', 'hobby_list': ['喊麦', '打游戏']}]