Найти - Пользователи
Полная версия: reduce и список строк
Начало » Python для новичков » reduce и список строк
1
frostspb
Всем привет.
Есть вот такой вод простенький код:

tb_titles = ['ID','add_date','zzz']
title_html = ''
for x in tb_titles:
        title_html +='<th>%s</th>'%x
print title_html

и он работает хорошо, на выходе мы имеем
<th>ID</th><th>add_date</th><th>zzz</th>

пытался переделать его с использованием reduce
print reduce(lambda a, x1: a + '<th>%s</th>'%x1, tb_titles)
и на выходе получается полная фигня:
ID<th>add_date</th><th>zzz</th>

в чём может быть проблема и как её решить?
ayb
Если хочется записать в одну строчку то можно сделать так :

>>> ''.join('<th>%s</th>'%s for s in tb_titles)

Если хочется сделать именно с reduce, то сначала почитайте эту статью
terabayt
print reduce(lambda a, x1: a + '<th>%s</th>'%x1, tb_titles, '')
frostspb
Спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB