2015-05-12 3 views
2

Я пытаюсь использовать python для печати html-файла.Python: Распечатать список неизвестной длины?

Есть ли способ включить следующее в инструкцию печати? Возможно, используя метод форматирования?

Текущая ситуация:

foo = ['some_image1.com', 'some_image2.com'] 

print '''<img src="' + foo[0] + '"> 
<img src="' + foo[1] + '"> 
<img src="' + foo[2] + '">''' # Desired behavior to ignore foo[2] 

Как я могу получить за это? Не следует ли использовать список?

Спасибо!

+1

Какой желаемый выход? – inspectorG4dget

ответ

2
print ''.join(map('<img src="{}">'.format, foo)) 

или

print '<img src="%s">' * len(foo) % tuple(foo) 

(если foo уже были кортеж, вам не нужно бы tuple(...)).

Я бы этого не сделал, кроме случаев, когда игра в гольф (где я недавно использовал это).

+0

Ах. Это сделал трюк. Спасибо за ответ! – jsmiao

2
print "\n".join('<img src="%s">' % src for src in foo) 
+0

Он сказал что-то о желании игнорировать «foo [2]», но я не совсем понимаю, что это значит. – Will

+0

@Will: Я тоже немного смутился, но потом догадался, что он хочет остановиться с 'foo [1]', потому что список примеров содержит только два элемента. Однако, без цикла или рекурсии или понимания вы застряли с hardcoding для определенной длины. – Amadan

+0

А, да, я вижу. Имеет смысл. – Will