【发布时间】:2014-10-19 20:00:48
【问题描述】:
我有一个通过 XHR 请求返回的 JSON 对象,它采用以下格式:
[[[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 字典,其中字典键为元组:
for match in responser:
for num_events, team, events in match:
regex = {tuple(sub[:3]): sub[3][0] for y in events[0] for sub in y}
但是,当我尝试在下面的嵌套列表中使用相同的对象时:
[[[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 嵌套列表在结构上与第一个略有不同,但我不确定如何修改我的代码以适应这一点,或者具体为什么我会收到此错误。
谢谢
【问题讨论】:
标签: python json list nested-lists