Как найти самое длинное слово в строке python

от admin

Не могли бы вы мне помочь со способом нахождения самого длинного слова с списке?

Вот код, который находит в строке все слова и заносит их в список, а потом печатает эти слова в столбец, как найти самое длинное из этих слов?

Можно использовать функцию max , и всё получается просто в 1 строку:

Или так:

Если использовать lambda-функцию, то примет следующий вид:

Еще вариант на коленке через сортировку:

aleksandr barakin's user avatar

Valery's user avatar

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как найти самое длинное слово с помощью Python?

Как я могу использовать Python, чтобы найти самое длинное слово из набора слов? Я могу найти такое первое слово:

задан 28 июля ’09, 06:07

Это, наверное, самый трудный для понимания вопрос, который я когда-либо читал. Вы ищете самое длинное слово в заданной строке, поэтому в вашем примере это будет «ааа», верно ?! И вы хотите получить его из одного выражения с использованием встроенных модулей и без создания собственной функции или класса. В этом суть вашего вопроса? — ThomasH

@LarsOn: Пожалуйста, не комментируйте свой вопрос. Пожалуйста, удалите комментарий и ОБНОВИТЕ вопрос новой информацией. — S.Lott

4 ответы

Если я правильно понял ваш вопрос:

split() разбивает строку на слова (разделенные пробелами); max() находит самый большой элемент с помощью встроенного len() функция, то есть длина строки, как ключ, чтобы узнать, что означает «наибольший».

Создан 28 июля ’09, 10:07

Вот один из категории «Насколько сложно вы можете это сделать», также нарушающий требование об отсутствии собственного класса:

Интересно то, что вы используете член объекта для поддержания состояния, пока список вычисляется в понимании, в конечном итоге отбрасывая список и используя только побочный эффект.

Но, пожалуйста, используйте один из Максимум() решения выше :-).

Python-сообщество

Неделю назад начала изучать Питон, сегодня столкнулась с задачкой: найти самое длинное слово в строке. Вроде бы легкая, но уже всю голову себе сломала, а решение так и не придумала. Преобразовывала даже в список.

Читать:
Что m больше n выберите верное неравенство

Основная мысль выглядела так:
a = “London is the capital of GB”
a.split(“ ”)
for word in a.split(“ ”):
print len(word)

Выводилась длина каждого слова. Не могу понять, как теперь можно найти самое длинное.

Python: найти самое длинное слово в строке

Я готовлюсь к экзамену, но у меня возникают трудности с одним вопросом из прошлой статьи. Учитывая строку, содержащую предложение, я хочу найти самое длинное слово в этом предложении и вернуть это слово и его длину. Изменить . Мне нужно было только указать длину, но я ценю ваши ответы на оригинальный вопрос! Это помогает мне узнать больше. Спасибо.

Например: string = «Привет, я люблю печенье». Моя программа должна вернуть «Cookies» и длину 7.

Теперь дело в том, что мне не разрешается использовать какую-либо функцию из класса String для полной оценки, а для полной оценки я могу пройти строку только один раз. Мне не разрешено использовать string.split () (иначе проблем не будет), и в решении не должно быть слишком много операторов for и while. Строки содержат только буквы и пробелы, а слова разделяются одним пробелом.

Какие-либо предложения? Я потерян, т. Е. У меня нет кода.

РЕДАКТИРОВАТЬ . Извините, я неправильно прочитал экзаменационный вопрос. Вам нужно только вернуть длину самого длинного слова, а не длину + слово.

EDIT2 : Хорошо, с вашей помощью я думаю, что я на что-то .

Но он возвращает [5, 1, 4] для «Здравствуйте, я люблю куки», поэтому он пропускает «куки». Почему? РЕДАКТИРОВАТЬ: Хорошо, я понял. Это потому, что больше нет «» после последней буквы в предложении, и поэтому он не добавляет длину. Я исправил это так, что теперь он возвращает [5, 1, 4, 7], а затем я просто беру максимальное значение.

Я полагаю, использование списков, но не .split () это нормально? Просто сказано, что функции из «String» не разрешены или списки являются частью строк?

Похожие статьи