【发布时间】:2015-09-26 20:01:44
【问题描述】:
假设我有一个任意列表:
qw = ['a', [['tag', '1'], ['tag', '2']]]
我需要用<blockquote> 构建html(只是一个python 字符串;列表的每个元素都应该根据层次结构包装在blockquote 标签中):
<blockquote> a
<blockquote> tag
<blockquote> 1 </blockquote>
</blockquote>
<blockquote> tag
<blockquote> 2 </blockquote>
</blockquote>
</blockquote>
结果:
例如,我有一个字符串test='str1str2str34' 和一些规则将其拆分为列表:
['str1str2str34', [
['str1', ['str', '1']],
['str2', ['str', '2']],
['str34', ['str', '3', '4']]
]
]
基于渲染结果的块引用标签:
所以,我尝试更改递归生成器(用于展平列表):
def flatten(l):
for el in l:
if isinstance(el, collections.Iterable) and not isinstance(el, basestring):
for sub in flatten(el):
yield sub
else:
yield el
但实际上没有任何结果。
【问题讨论】:
-
list(flatten(qw)).
标签: python html python-2.7 yield