Форум сайта python.su
0
В общем-то собираю данные с html страниц. Есть массив, состоящий из массивов который состоит из объектов.
К примеру:
[ [{'id': u'1627207:28341', 'title': u'\u9ed1\u8272'}, {'id': u'1627207:28326', 'title': u'\u7ea2\u8272'}, {'id': u'1627207:28327', 'title': u'\u9152\u7ea2\u8272'}, {'id': u'1627207:877924746', 'title': u'\u9ed1\u8272B\u6b3e\u5927\u53f7'}, {'id': u'1627207:877924751', 'title': u'\u9ed1\u8272A\u6b3e\u5c0f\u53f7'}, {'id': u'1627207:1033986606', 'title': u'\u7ea2\u8272A\u6b3e\u5c0f\u53f7'}] ]
[ [{'id': u'20509:28341', 'title': u'\u9ed1\u8272'}, {'id': u'20509:28323', 'title': u'\u7c89\u8272'}], [{'id': u'1627207:28315', 'title': u'M'}, {'id': u'1627207:28316', 'title': u'L'}] ]
Отредактировано kirillka (Май 18, 2016 11:34:56)
Офлайн
88
Тут уже много раз обсуждалось.
Например так
def flattening(data): for di in data: # вместо dict может быть свой тип, или набор типов if isinstance(di, dict): yield di else: for fi in flattening(di): yield fi a = [ [{'id': u'20509:28341', 'title': u'\u9ed1\u8272'}, {'id': u'20509:28323', 'title': u'\u7c89\u8272'}], [{'id': u'1627207:28315', 'title': u'M'}, {'id': u'1627207:28316', 'title': u'L'}] ] for i in flattening(a): print i
Отредактировано Shaman (Май 18, 2016 12:54:26)
Офлайн
0
ShamanЯ к сожалению новичёк в питоне… Но до конца не понял… При принте мне выводит {'id': u'1627207:28315', ‘title’: u'M'} хотя должно ‘id’: u'20509:28341' + ‘id’: u'1627207:28315' + если есть следующий…
Тут уже много раз обсуждалось.Например так
Отредактировано kirillka (Май 18, 2016 14:39:33)
Офлайн
857
Напиши в теге code, что должно получиться.
Из этого
[ [{'id': u'20509:28341', 'title': u'\u9ed1\u8272'}, {'id': u'20509:28323', 'title': u'\u7c89\u8272'}], [{'id': u'1627207:28315', 'title': u'M'}, {'id': u'1627207:28316', 'title': u'L'}] ]
Офлайн