pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

合并 id 重復的字典列表 - python3

Merge list of dictionaries where id is duplicate - python3(合并 id 重復的字典列表 - python3)
本文介紹了合并 id 重復的字典列表 - python3的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一個字典列表:

[{"id":"1", "name":"Alice", "age":"25", "languages":"German"},
 {"id":"1", "name":"Alice", "age":"25", "languages":"French"},
 {"id":"2", "name":"John", "age":"30", "languages":"English"},
 {"id":"2", "name":"John", "age":"30", "languages":"Spanish"}]

我希望最終結果是(我在檢查重復項時只考慮 id):

I'd like the end result to be (I am only considering the id when checking for duplicates):

[{"id":"1", "name":"Alice", "age":"25", "languages":"German, French"},
 {"id":"2", "name":"John", "age":"30", "languages":"English, Spanish"}]

看著類似的問題,我認為使用集合可能是答案,但一直無法正確實現.

looking at similar questions, I thought that using a set might be the answer, but haven't been able to implement it correctly.

提前感謝您的回答.

推薦答案

在這里有點冗長以幫助查看結構.絕對可以做一些很酷的 lambda 東西來解決這個問題,并使列表理解更加pythonic".但這里有一個快速的解決方案!

Being a little verbose here to help see the structure. Definitely some cool lambda stuff you can do to solve this and list comprehension to be more "pythonic". But here is a quick solution!

# Set up initial data
unmerged = [
    {"id":"1", "name":"Alice", "age":"25", "languages":"German"},
    {"id":"1", "name":"Alice", "age":"25", "languages":"French"},
    {"id":"2", "name":"John", "age":"30", "languages":"English"},
    {"id":"2", "name":"John", "age":"30", "languages":"Spanish"}]

# merge the data by your composite key of id-name-age
merged = {}
for entry in unmerged:
    entry_id = entry['id']
    entry_name = entry['name']
    entry_age = entry['age']
    entry_languages = entry['languages']
    composite_key = entry_id + entry_name + entry_age
    if composite_key in merged:
        merged[composite_key]['languages'].append(entry_languages)
    else:
        merged[composite_key] = {
            'id': entry_id,
            'name': entry_name,
            'age': entry_age,
            'languages': [entry_languages]
        }

# reconstruct your list with just your unique entries
cleaned = []
for key, value in merged.items():
    print(key, value)
    cleaned.append({
        'id': value['id'],
        'name': value['name'],
        'age': value['age'],
        'languages': ', '.join(value['languages']) # string join langauges by ", "
    })

for clean in cleaned:
    print(clean)

然后給你你的最終輸出,其中清理的是你的合并條目列表:

And than gives you your final output where cleaned is your list of merged entries:

{'id': '1', 'name': 'Alice', 'age': '25', 'languages': 'German, French'}
{'id': '2', 'name': 'John', 'age': '30', 'languages': 'English, Spanish'}

謝謝,如果這有幫助,請告訴我!

Thank, and let me know if this helps!

這篇關于合并 id 重復的字典列表 - python3的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to draw a rectangle around a region of interest in python(如何在python中的感興趣區域周圍繪制一個矩形)
How can I detect and track people using OpenCV?(如何使用 OpenCV 檢測和跟蹤人員?)
How to apply threshold within multiple rectangular bounding boxes in an image?(如何在圖像的多個矩形邊界框中應用閾值?)
How can I download a specific part of Coco Dataset?(如何下載 Coco Dataset 的特定部分?)
Detect image orientation angle based on text direction(根據文本方向檢測圖像方向角度)
Detect centre and angle of rectangles in an image using Opencv(使用 Opencv 檢測圖像中矩形的中心和角度)
主站蜘蛛池模板: 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 振动传感器,检波器-威海广达勘探仪器有限公司 | 清洁设备_洗地机/扫地机厂家_全自动洗地机_橙犀清洁设备官网 | 免费个人pos机申请办理-移动pos机刷卡-聚合收款码办理 | 尊享蟹太太美味,大闸蟹礼卡|礼券|礼盒在线预订-蟹太太官网 | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 智能家居全屋智能系统多少钱一套-小米全套价格、装修方案 | 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | sus630/303cu不锈钢棒,440C/430F/17-4ph不锈钢研磨棒-江苏德镍金属科技有限公司 | 伸缩节_伸缩器_传力接头_伸缩接头_巩义市联通管道厂 | 上海道勤塑化有限公司 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 钣金加工厂家-钣金加工-佛山钣金厂-月汇好 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 北京公寓出租网-北京酒店式公寓出租平台 | bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 食品级焦亚硫酸钠_工业级焦亚硫酸钠_焦亚硫酸钠-潍坊邦华化工有限公司 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 定量包装秤,吨袋包装称,伸缩溜管,全自动包装秤,码垛机器人,无锡市邦尧机械工程有限公司 | 纸塑分离机-纸塑分离清洗机设备-压力筛-碎浆机厂家金双联环保 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 高压绝缘垫-红色配电房绝缘垫-绿色高压绝缘地毯-上海苏海电气 | 回收二手冲床_金丰旧冲床回收_协易冲床回收 - 大鑫机械设备 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 活性炭-果壳木质煤质柱状粉状蜂窝活性炭厂家价格多少钱 | 黄石东方妇产医院_黄石妇科医院哪家好_黄石无痛人流医院 | 珠光砂保温板-一体化保温板-有釉面发泡陶瓷保温板-杭州一体化建筑材料 | 开锐教育-学历提升-职称评定-职业资格培训-积分入户 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商| 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 婚博会2024时间表_婚博会门票领取_婚博会地址-婚博会官网 |