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

遍历含列表与子字典的Python字典时遇到的问题

问题原因与解决办法

你的问题出在数据结构本身:data["test"]是一个仅包含单个元素的列表,而这个元素是JSON格式的字符串,并非已经解析好的Python字典列表。所以当你调用value1[0]时,实际是在取这个字符串的第一个字符(也就是[),而非列表中的第一个字典对象。

验证方法

你可以打印type(value1),结果会是<class 'str'>,直接证明它是字符串类型,不是可直接索引的列表。

解决步骤

使用Python内置的json模块,将这个JSON字符串解析成可直接操作的Python数据结构:

import json

data = {"test":['[{"Day":"Monday","Device":"Android","Data":[1, 2, 3]}, {"Day":"Tuesday","Device":"Iphone","Data":[10, 20, 30]}]']}
value = data["test"]
# 把JSON字符串解析为Python列表
parsed_data = json.loads(value[0])
# 现在可以正常访问第一个字典
print(parsed_data[0])
# 输出: {'Day': 'Monday', 'Device': 'Android', 'Data': [1, 2, 3]}
# 还能进一步访问字典内的元素
print(parsed_data[0]["Day"])  # 输出: Monday

额外建议

如果是从文件读取时出现这种情况,说明你读取的是原始JSON文本但未做解析。后续读取文件时,直接用json.load()(读取文件对象)或json.loads()(读取字符串内容)处理,就能得到可直接操作的Python对象,无需手动拆分字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:02:41