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

如何提取字典Type字段唯一值并存储为集合?解决TypeError报错

问题分析与解决方法

错误原因

  • 未正确读取JSON文件内容:content只是包含文件名和打开模式的元组,并非文件内的字典列表,遍历它时每个元素都是字符串,无法用['Type']键索引,触发TypeError。
  • 变量ebayproducts未定义,原代码中的for item in ebayproducts属于无意义的多余逻辑。
  • 文件名存在拼写错误:ebyayproducts.json应为ebayproducts.json,否则会出现文件找不到的问题。

修正后的代码

import json

# 正确读取JSON文件
file_path = "C:\\Users\\jon.welsh\\Desktop\\ebayproducts.json"
with open(file_path, "r") as f:
    ebayproducts = json.load(f)  # 将文件内容解析为字典列表

# 提取所有唯一的Type字段值到集合
unique_types = set(item['Type'] for item in ebayproducts)
print(unique_types)

代码说明

  • import json:导入JSON处理模块,用于解析JSON格式的文件内容。
  • with open(...) as f:使用上下文管理器打开文件,自动处理文件关闭操作,避免资源泄漏。
  • json.load(f):将文件中的JSON内容转换为Python的字典列表(假设你的JSON文件是包含多个产品字典的数组结构)。
  • set(item['Type'] for item in ebayproducts):通过生成器表达式遍历每个产品字典,提取Type字段值并转为集合,利用集合自动去重的特性,比列表推导式更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 17:40:18