В настоящее время я создаю HTML-код для 4 таблиц из 4 разных кортежей, а затем распечатываю весь HTML. Я делаю это, перебирая таблицы в 4 отдельных циклах. Я должен использовать 4 отдельных цикла, потому что метки таблиц и ссылки столбцов различны. Я ищу некоторые предложения по повышению эффективности этого (возможно, объединение до одного цикла). В приведенном ниже примере каждый кортеж имеет только одну строку, так как это всего лишь образец, но когда я на самом деле его кодирую, будет много строк.Нужна более эффективная петля Python
Мой код:
datatable1 = [('A', 'B', 'C', 'D', 'E', 'F','G')]
datatable2 = [('H', 'I', 'J', 'K', 'L', 'M','N')]
datatable3 = [('O', 'P', 'Q', 'R', 'S', 'T','U')]
datatable4 = [('W', 'X', 'Y', 'Z')]
HTML_Body1 = "Table1<BR><table>"
for row in datatable1:
HTML_Body1 = HTML_Body1 + "<tr><td><font size='2'><td>" + row[0] + "</td><td>" + row[1] + "</td><td><font size='2'>" + row[6] + "</td><td>" + row[4] + "</td></tr>"
HTML_Body1 = HTML_Body1 + "</table><BR><BR>"
HTML_Body2 = "Table2<BR><table>"
for row in datatable2:
HTML_Body2 = HTML_Body2 + "<tr><td><font size='2'><td>" + row[0] + "</td><td>" + row[1] + "</td><td><font size='2'>" + row[6] + "</td><td>" + row[4] + "</td></tr>"
HTML_Body2 = HTML_Body2 + "</table><BR><BR>"
HTML_Body3 = "Table3<BR><table>"
for row in datatable3:
HTML_Body3 = HTML_Body3 + "<tr><td><font size='2'><td>" + row[1] + "</td><td>" + row[2] + "</td><td><font size='2'>" + row[3] + "</td><td>" + row[0] + "</td></tr>"
HTML_Body3 = HTML_Body3 + "</table><BR><BR>"
HTML_Body4 = "Table4<BR><table>"
for row in datatable4:
HTML_Body4 = HTML_Body4 + "<tr><td><font size='2'><td>" + row[1] + "</td><td>" + row[2] + "</td><td><font size='2'>" + row[3] + "</td><td>" + row[0] + "</td></tr>"
HTML_Body4 = HTML_Body4 + "</table><BR><BR>"
Entire_HTML = "<HMTL>" + HTML_Body1 + HTML_Body2 + HTML_Body3 + HTML_Body4 + "</HTML>"
print Entire_HTML
Есть ли какое-либо правило для того, как вы выбираете, какие значения '' 'row''' попадают в таблицу? – wnnmaw
Когда вы говорите «эффективность», вы ищете быстрый код или читаемый код? – Kevin
Среди других проблем этот код не будет работать, если вы добавите несколько строк в список, поскольку каждый цикл сохраняет только самую последнюю строку, которую вы обрабатываете в этом цикле. Возможно, вы хотите перенести первую и последнюю строку каждого тела цикла за пределы цикла. –