异常.类型错误:“float”对象不可与嵌套的JSON lis一起使用

2024-06-16 10:17:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个JSON对象通过XHR请求返回,该请求采用以下格式:

[[[13, u'Arsenal', [[[[u'goal', u'openplay', u'header', [1]], [u'goal', u'openplay', u'leftfoot', 
[1]], [u'goal', u'openplay', u'rightfoot', [3]], [u'goal', u'owngoal', u'rightfoot', [1]], [u'miss', 
u'corner', u'header', [2]], [u'miss', u'corner', u'leftfoot', [3]], [u'miss', u'corner', u'rightfoot',
[2]], [u'miss', u'crossedfreekick', u'rightfoot', [2]], [u'miss', u'directfreekick', u'leftfoot', [1]],
[u'miss', u'openplay', u'header', [2]], [u'miss', u'openplay', u'leftfoot', [16]], [u'miss', 
u'openplay', u'rightfoot', [23]]]]]]

其中responser是上面的JSON对象,我使用以下代码将这个嵌套列表转换成一个Python字典,其中字典键的元组是:

^{pr2}$

但是,当我尝试在下面的嵌套列表中使用同一对象时:

    [[[13, u'Arsenal', [[6.125, [[u'assist', u'cross', [3]], [u'normal', u'cross', [198]], [u'normal',
 u'longball', [326]], [u'assist', u'short', [5]], [u'normal', u'short', [4726]], [u'assist', 
u'throughball', [1]], [u'normal', u'throughball', [35]]]]]]

我得到以下错误:

exceptions.TypeError: 'float' object is not iterable

谁能告诉我我做错了什么吗?我可以看到,第二个示例中的JSON嵌套列表在结构上与第一个略有不同,但我不确定如何修改代码以适应这一点,也不知道为什么会出现此错误。在

谢谢


Tags: 对象代码json列表字典headerarsenalnormal
1条回答
网友
1楼 · 发布于 2024-06-16 10:17:36

这是因为6.125值:你的代码不能解释它的存在。此外,每个小名单有2个项目,而不是3个,代码需要相应地调整。在

我唯一能让它工作的方法就是把它分解成碎片。你不想把太多的东西塞进清单/字典的理解中:

这是我转换第一个列表的代码:

>>> d = {}
>>> for a in responser[2][0][0]:
...   d.update({tuple(a[:3]): a[3][0]})

这是我转换第二个列表的代码。“1”是为了得到6.125值之后的项目。“3”要素改为“2”:

^{pr2}$

相关问题 更多 >