2010-07-09 8 views
3

J'utilise le code ci-dessous pour imprimer des lignes contenant 4 colonnes. Comment est-ce que j'ajouterais chaque valeur dans la liste à une table HTML qui contient également des rangées avec quatre colonnes?Tableau Python et 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

étrange que cette question a été posée par un autre utilisateur: http://stackoverflow.com/questions/3214926/python- print-in-rows – Wilduck

+0

Yup faisait partie de la même équipe essayant de mettre ce site en marche – David

+1

Un petit pas à la fois ... – Wilduck

Répondre

3

Avec quelques modifications mineures ...

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>' 

Cela change fondamentalement le délimiteur de ne pas être onglet, mais les éléments de table. En outre, met la rangée ouverte et ferme la rangée au début et à la fin.

1

légère variation sur la réponse de orangeoctopus, en utilisant un autre join, plutôt que concaténation:

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

Quels sont les avantages de l'utilisation de la jointure sur la concaténation? Semble plutôt idiot (pas d'offense, je suis vraiment curieux). –

+2

@orangeoctopus: Lors du collage de chaînes, il semble que join() soit considéré comme plus pythonique que concaténation. En outre, lorsque le nombre d'éléments collés devient important, join() s'exécute plus rapidement. Cependant, pour un petit nombre d'articles, je pense que la concaténation est bien et c'est ce que je fais habituellement (l'habitude d'autres langues). – GreenMatt