我无法将列表列表中的值附加到html表中,例如列表中包含以下内容的列表:
food_list = [['A','B'], ['Apple','banana'], ['Fruit','Fruit']]
如何将每个值附加到对应的HTML表格中?所以代码看起来像:
<table>
<tr><td>A</td><td>Apple</td><td>Fruit</td></tr>
<tr><td>B</td><td>Banana</td><td>Fruit</td></tr>
</table>
我能得到的最接近的是下面的代码,但我得到的列表索引超出范围错误。
print '<table>'
for i in food_list:
print '<tr>'
print '<tr><td>'+i[0]+'</td><td>'+i[1]+'</td><td>'+i[2]+'</td></tr>'
print '</tr>'
print' </table>'
答案 0 :(得分:3)
我会这样做;
# Example data.
raw_rows = [["A", "B"], ["Apple", "Banana"], ["Fruit", "Fruit"]]
# "zips" together several sublists, so it becomes [("A", "Apple", "Fruit"), ...].
rows = zip(*raw_rows)
html = "<table>"
for row in rows:
html += "<tr>"
# Make <tr>-pairs, then join them.
html += "\n".join(map(lambda x: "<td>" + x + "</td>", row))
html += "</tr>"
html += "</table>"
也许不是最快的版本,但它将行包装成元组,然后我们可以迭代它们并连接它们。
答案 1 :(得分:2)
我认为你正在寻找这个:
print '<table>'
for i in zip(*food_list):
print '<tr>'
print '<td>'+i[0]+'</td><td>'+i[1]+'</td><td>'+i[2]+'</td>'
print '</tr>'
print' </table>'
答案 2 :(得分:0)
该表有两个元素,因此您将使用0和1作为索引。以下是您重写的示例:
print '<table>'
for i in food_list:
print '<tr>'
print '<tr><td>'+i[0]+'</td><td>'+i[1]+'</td></th>'
print '</tr>'
print' </table>'