У меня есть набор вложенных списков, возвращаемых с веб-сайта с помощью запроса XHR. Используемая методика составляет json.loads
по адресу response.text
. Вложенный список выглядит следующим образом:Конвертированный вложенный список в словарь и значение
[[[[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 на response.text. * Вместо этого используйте 'response.json()'. –
Ваш образец вывода не имеет особого смысла в качестве отдельных словарей, кстати. Мой ответ дает вам * один * словарь, а ваши запрошенные ключи - как кортежи. В конце концов, ключ словаря все равно должен быть одним объектом. –