我有一个元素列表,我需要生成一堆元素:
<div class="row">
<div class="row-element"> datapoint 1</div>
<div class="row-element"> datapoint 2</div>
<div class="row-element"> datapoint 3</div>
<div class="row-element"> datapoint 4</div>
</div>
.... # And so on
尝试这样做很棘手。列表some_list
长度可以是奇数甚至是奇数。每个div行最多应有四个子行元素。
for i,x in enumerate(some_list):
if i%4 == 0:
print '<div class="row">'
tmp = i+4
print '<div class="row-element">' + x + '</div>'
if tmp-1==i:
print '</div>'
这种方法只有在列表可以被4整除的情况下才有效,而且代码真的很难看。
如何在python中干净地为偶数和奇数元素生成封闭的div标签?
答案 0 :(得分:1)
将文档加载到类似lxml.html document的内容,并使用此great answer
中的技巧>>> list(chunks(range(0, 11), 4))
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]
答案 1 :(得分:0)
我不知道这是否真的更干净......我在{I}打印</div>
两个我不太喜欢的地方。
for i, x in enumerate(some_list):
if not i % 4:
if i:
print '</div>'
print '<div class="row">'
print '<div class="row-element">' + x + '</div>'
print '</div>'