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

Python处理LevelDB数据时如何按名称分组将数组存入字典

问题原因

  • 核心错误1:Python列表的append()方法是原地修改列表,返回值为None,你直接把[].append(str(X))赋值给map字段,自然得到的就是None
  • 核心错误2:每次遇到同name的条目时,你直接覆盖了整个字典结构,之前存的map值会被直接清空,没有做追加处理

实现代码

首先在遍历循环外初始化空字典:

currentMaps = {}

然后把你原来的赋值逻辑替换成如下代码,放在if data.get("name") != None:的代码块内:

name = str(data.get("name"))
map_val = str(X)
cols = str(data.get("col"))
rows = str(data.get("row"))

if name not in currentMaps:
    # 首次遇到该name时初始化结构
    currentMaps[name] = {
        "name": name,
        "map": [map_val],
        "cols": cols,
        "rows": rows
    }
else:
    # 已存在该name时,仅追加map值
    currentMaps[name]["map"].append(map_val)

说明

如果同name下的cols、rows可能出现不一致的情况,你可以根据自己的业务需求补充冲突处理逻辑,比如保留第一个值、覆盖更新、或者也存为数组都可以。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:27:05