You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将字典列表中相同键的对应值按分号合并拼接

实现方案

方案1:原生Python实现(无第三方依赖)

直接通过字典推导式完成逻辑,无需额外转换矩阵,代码简洁易读:

data = [{'name': 'Dave', 'role': 'Manager'}, {'name': 'David', 'role': 'Engineer'}]

if not data:
    result = {}
else:
    # 若不同字典存在缺键,可将item[key]替换为item.get(key, "")
    result = {key: ";".join([item[key] for item in data]) for key in data[0].keys()}

print(result)
# 输出:{'name': 'Dave;David', 'role': 'Manager;Engineer'}

如果列表内的字典键不统一,可先提取所有唯一键再做拼接,兼容缺键场景:

# 提取所有字典的键的并集
all_keys = {k for item in data for k in item.keys()}
result = {key: ";".join([item.get(key, "") for item in data]) for key in all_keys}

方案2:pandas实现(适合批量数据处理场景)

如果你已经在使用pandas做数据处理,一行代码即可得到结果:

import pandas as pd

result = pd.DataFrame(data).agg(";".join).to_dict()

内容的提问来源于stack exchange,提问作者Saad Hasan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:45:03