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

Python如何移除多余列表字典符号,以slug为键重组JSON数据

解决方案

问题原因

原代码中将artworks定义为列表类型,每次循环都生成仅包含单个键值对的字典追加到列表中,因此会得到外层为列表、每个键值对独立包裹为字典的错误结构。

代码修改

你只需要调整artist_artworks方法的容器类型和赋值逻辑即可:

def artist_artworks(self, artist_id):
    artist = self.artist(artist_id)
    # 初始化空字典存储结果,而非列表
    artworks = {}

    with ThreadPool(self.threads) as pool:
        for artwork in pool.imap(self.artwork, artist["projects"]):
            # 直接以slug为键,artwork整体为值存入字典
            artworks[artwork["slug"]] = artwork
    return artworks

如果需要输出的JSON格式更易读,可以优化save_artists_json方法,增加缩进和非ASCII字符支持:

def save_artists_json(self, artist):
    result = self.save_artist(artist)
    # indent参数控制缩进宽度,ensure_ascii=False避免特殊字符被转义为Unicode编码
    json_formatted_str = json.dumps(result, indent=2, ensure_ascii=False)
    return json_formatted_str

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:15:03