Форум сайта python.su
Неделю назад начала изучать Питон, сегодня столкнулась с задачкой: найти самое длинное слово в строке. Вроде бы легкая, но уже всю голову себе сломала, а решение так и не придумала. Преобразовывала даже в список.
Основная мысль выглядела так:
a = “London is the capital of GB”
a.split(“ ”)
for word in a.split(“ ”):
print len(word)
Выводилась длина каждого слова. Не могу понять, как теперь можно найти самое длинное.
Офлайн
>>> a = "London is the capital of GB"
>>> d = [(len(x),x) for x in a.split()]
>>> d = dict(d)
>>> d
{2: 'GB', 3: 'the', 6: 'London', 7: 'capital'}
>>> max(d), d[max(d)]
(7, 'capital')
>>> print max(d), d[max(d)]
7 capital
>>>
Отредактировано (Июнь 5, 2011 17:47:46)
Офлайн
sp3, спасибо!
Хотя, мне казалось, что должно быть проще.
Можно разъяснить вот эти две строчки:
>>> d =
>>> d = dict(d)
А без создания словаря как-нибудь можно сделать?)
Офлайн
print max("London si the capt".split(),key=len)
Офлайн
Блин, вот я курица, все так просто) Спасибо! Буду дальше учить
Офлайн
Думаю что вы ошибаетесь (начсет курицы). Хорошие мысли не всегда сразу приходят.
Отредактировано (Июнь 6, 2011 07:15:50)
Офлайн