risboo6909 ([info]risboo6909) wrote,

Python magic 2

Еще немножко питона.
В строке заменяем все начальные буквы слов с маленьких на большие, при этом слова могут быть разделены '.', табуляцией или пробелом.

m = []
map(lambda word: m.append(string.capitalize(word)), re.split("[ \t.]+", k))
out = string.join(m)

К пример подав на вход k = "my test..line. ..is.here", получим out равным "My Test Line Is Here" :)

Всего три строчки, а какой функционал )


P.S. в итоге все удалось уложить в одну строчку:
out = string.join(map(lambda word: (string.capitalize(word)), re.split("[ \t.]+", k)))
Tags: fun, python

  • Post a new comment

    Error

    Your reply will be screened

    Your IP address will be recorded 

  • 11 comments

[info]the_chiffa

February 26 2010, 17:29:49 UTC 2 years ago

Какой функционал, а сколько пафоса :)

[info]risboo6909

February 26 2010, 17:31:36 UTC 2 years ago

Разве не круто?
Вот придумал еще более короткий вариант: out = string.join(map(lambda word: (string.capitalize(word)), re.split("[ \t.]+", k)))

[info]the_chiffa

February 26 2010, 18:23:21 UTC 2 years ago

Пример не прагматичный, из разряда вычисления факториала рекурсией.

[info]risboo6909

February 26 2010, 21:29:07 UTC 2 years ago

Вполне прагматичен, необходимость в этой процедуре возникла вчера при решении вполне конкретной, практической задачи.

[info]the_chiffa

February 26 2010, 22:00:21 UTC 2 years ago

Ну... даже на голом C задача решается ненамного объемней, зато так, что поймет даже первокурсница.

[info]risboo6909

February 26 2010, 22:06:54 UTC 2 years ago

дык этож ведь будет не интересно! ))))

[info]risboo6909

February 26 2010, 17:46:21 UTC 2 years ago

Тут еще прикол в том, что это демонстрирует, как в питончеге сочетаются св-ва императивного и функционального подходов. Вот )

[info]stranger_grrr

February 27 2010, 09:39:30 UTC 2 years ago

пипец) я думал, что Питон не такой извращенный язык, как Перл например, ан нет, и на нем такое возможно =)
Хотя я все-таки предпочитаю более понятный код засчет большего количества строк =)

[info]risboo6909

February 27 2010, 09:41:11 UTC 2 years ago

Ну честно говоря - я тоже. Тут просто Костя (наверное помнишь) написал такую ф-ию в начале на Lua. Было 4 строчки, потом я решил такую же написать на Python - получилось 3, потом 2, потом он на Lua в одну строку написал и тут уже чисто спортивный интерес был ) ну ти поньял ))

[info]stranger_grrr

February 27 2010, 09:52:00 UTC 2 years ago

ндаа, спортсмены блин) Костю помню конечно)

[info]mightysky

February 28 2010, 16:24:43 UTC 2 years ago

Так вот она какая была, ПРАКТИЧНАЯ ЗАДАЧА! Как завуалировал то... :)
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…