2010-07-09 73 views
3

我使用下面的代碼打印出包含4列的行。我如何將列表中的每個值附加到也包含四列的行的HTML表中?Python和HTML表格

random_list = ['car', 'plane', 'van', 'boat', 'ship', 'jet','shuttle'] 
    for i in xrange(0, len(food_list), 4): 
     print '\t'.join(food_list[i:i+4]) 
+2

奇怪的是,這個問題被要求不同的用戶:http://stackoverflow.com/questions/3214926/python-打印行 – Wilduck 2010-07-09 17:57:36

+0

是在同一個團隊試圖讓這個網站啓動並運行 – David 2010-07-09 18:01:08

+1

一小步一次... – Wilduck 2010-07-09 18:02:46

回答

3

有了一些細微的修改...

food_list = ['car', 'plane', 'van', 'boat', 'ship', 'jet','shuttle'] 
for i in xrange(0, len(food_list), 4): 
    print '<tr><td>' + '</td><td>'.join(food_list[i:i+4]) + '</td></tr>' 

這基本上改變了分隔符不是標籤,但該表的元素。另外,在開始和結束時放置開放行和關閉行。

1
上orangeoctopus的回答

輕微的變化,使用其他join,而不是串聯:

random_list = ['car', 'plane', 'van', 'boat', 'ship', 'jet','shuttle'] 
print "<table>" 
for i in xrange(0, len(random_list), 4): 
    print ''.join(['<tr><td>','</td><td>'.join(random_list[i:i+4]),'</td></tr>']) 
print '</table>' 
+1

使用join over concatenation有什麼好處?看起來很愚蠢(沒有冒犯性,我真的很好奇)。 – 2010-07-09 18:18:41

+2

@orangeoctopus:將字符串粘合在一起時,看起來join()被認爲比連接更加pythonic。另外,當粘貼的項目數量變大時,join()運行得更快。然而,對於少數項目,我認爲串接是好的,並且是我通常所做的(習慣於其他語言)。 – GreenMatt 2010-07-09 18:28:58