Уведомления

Группа в Telegram: @pythonsu

#1 Май 14, 2015 12:18:26

frostspb
Зарегистрирован: 2013-04-24
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

reduce и список строк

Всем привет.
Есть вот такой вод простенький код:

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>

в чём может быть проблема и как её решить?

Офлайн

#2 Май 14, 2015 12:47:20

ayb
Зарегистрирован: 2014-04-01
Сообщения: 297
Репутация: +  24  -
Профиль   Отправить e-mail  

reduce и список строк

Если хочется записать в одну строчку то можно сделать так :

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

Если хочется сделать именно с reduce, то сначала почитайте эту статью

Офлайн

#3 Май 14, 2015 12:47:22

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

reduce и список строк

print reduce(lambda a, x1: a + '<th>%s</th>'%x1, tb_titles, '')



————————————————
-*- Simple is better than complex -*-

Офлайн

#4 Май 14, 2015 13:33:53

frostspb
Зарегистрирован: 2013-04-24
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

reduce и список строк

Спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version