我有一组通过XHR请求从网站返回的嵌套列表。所使用的技术是上的json.loads
。嵌套列表看起来是这样的:将嵌套列表转换为字典键和值
[[[[u'goal', u'openplay', u'leftfoot', [2]],
[u'goal', u'openplay', u'rightfoot', [7]],
[u'goal', u'owngoal', u'rightfoot', [1]],
[u'miss', u'corner', u'header', [1]],
[u'miss', u'corner', u'otherbodypart', [1]],
[u'miss', u'corner', u'rightfoot', [2]],
[u'miss', u'crossedfreekick', u'leftfoot', [1]],
[u'miss', u'crossedfreekick', u'rightfoot', [6]],
[u'miss', u'openplay', u'header', [2]],
[u'miss', u'openplay', u'leftfoot', [11]],
[u'miss', u'openplay', u'rightfoot', [31]],
[u'miss', u'throwin', u'rightfoot', [1]]]]]
假设这个嵌套列表已投入变量events
我使用下面的代码:
for y in events[0]:
for sub in y:
print sub
我得到这样的输出:
[u'goal', u'openplay', u'leftfoot', [2]]
[u'goal', u'openplay', u'rightfoot', [7]
...
...
...
[u'miss', u'openplay', u'leftfoot', [11]
[u'miss', u'openplay', u'rightfoot', [31]
但是,我想要的是将嵌套列表的第一部分,即u'goal', u'openplay', u'leftfoot'
转换为字典的关键字和值的第二部分,即[1]
。这将使上面看起来像这样:
{"'goal', u'openplay', u'leftfoot'":2}
{"'goal', u'openplay', u'rightfoot'":7}
...
...
...
{"'miss', u'openplay', u'leftfoot'":11}
{"'miss', u'openplay', u'rightfoot'":31}
我真的不知道如何实现这最后一步虽然。
*使用的技术是json.loads on response.text。*使用'response.json()'代替。 – 2014-10-18 13:44:43
顺便提一下,你的示例输出对于单独的字典没有多大意义。我的答案给你*一个*字典,将你请求的键作为元组。毕竟,字典键仍然是一个对象。 – 2014-10-18 14:32:18