ВНИМАНИЕ: это все еще Python 2.7!
По какой-то причине следующая функция имеет чрезвычайно медленное время выполнения:
def get_content(d,content):
if isinstance(d,unicode):
content += d
content += u'\n'
elif isinstance(d,dict):
for key in d:
content += get_content(d[key],content)
elif isinstance(d,list):
for el in d:
content += get_content(el,content)
return content
content = get_content(D,u'')
Это хотя D
довольно мало. Ничего сумасшедшего не происходит по размеру.
Вы понимаете, в чем проблема или как лучше решить задачу?
РЕДАКТИРОВАТЬ: Я изменил код на ...
def get_content(d,content):
if isinstance(d,unicode):
content += [d]
elif isinstance(d,dict):
for key in d:
content += get_content(d[key],content)
elif isinstance(d,list):
for el in d:
content += get_content(el,content)
return content
content = get_content(D,[])
... и у него все та же проблема.