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

Python3 如何将含相同symbol_name的多个字典合并为结构化新字典

问题根源

  • 第一种写法的问题:每次遍历到同一个symbol_name的条目时,都执行data[symbol] = {}重置该币种对应的字典,之前存入的timeframe数据会被直接覆盖,所以只剩最后一个周期的数据
  • 第二种写法的问题:把data = {}放在了循环内部,每遍历一条数据就重置整个结果字典,自然只能得到当前单条的处理结果

解决代码

# 先按symbol分组存储所有周期的属性
grouped = {}
for item in query:
    symbol = item["symbol_name"]
    timeframe = item["timeframe_name"]
    # 仅symbol第一次出现时初始化字典,避免覆盖已有数据
    if symbol not in grouped:
        grouped[symbol] = {"symbol_name": symbol}
    # 拼接周期前缀生成目标键名,写入对应属性值
    grouped[symbol][f"{timeframe}_scenario"] = item["scenario"]
    grouped[symbol][f"{timeframe}_continuity"] = item["continuity"]

# 如需列表格式的最终结果,直接取字典的values即可
result = list(grouped.values())
print(result)

效果说明

代码最终输出的result就是你要求的合并后字典列表,键名格式、数据结构完全匹配你给出的目标示例,不会出现数据覆盖、丢失的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:06:00