Вот код, который находит в строке все слова и заносит их в список, а потом печатает эти слова в столбец, как найти самое длинное из этих слов?
list = str(input()).split()
for i in list:
print(i)
print("")
print(list)
задан 2 июн 2017 в 7:19
2
Можно использовать функцию max
, и всё получается просто в 1 строку:
list = str(input()).split()
print(max(list, key=len))
Документация
Рабочий пример
ответ дан 2 июн 2017 в 7:25
TheMY3TheMY3
9,0632 золотых знака16 серебряных знаков34 бронзовых знака
4
Или так:
sentense = "какое-либо предложение"
words = dict()
for word in sentense.split(" "):
words[len(word)] = word
biggest_word = words[max(words)]
print(biggest_word)
MarianD
14.1k3 золотых знака18 серебряных знаков29 бронзовых знаков
ответ дан 17 сен 2020 в 13:07
1
Если использовать lambda-функцию, то примет следующий вид:
print (lambda list: (max(list, key=len)))(str(input()).split())
Еще вариант на коленке через сортировку:
print sorted(str(input()).split())[-1]
ответ дан 2 июн 2017 в 9:36
Eugene DennisEugene Dennis
2,4721 золотой знак8 серебряных знаков14 бронзовых знаков
txt = input()
txt_list=txt.split()
len_list=[]
dict={}
for i in txt_list :
len_list.append(len(i))
for l, t in zip (len_list ,txt_list ):
dict[l]=t
print(dict[max(len_list) ])
ответ дан 21 дек 2022 в 15:03
ValeryValery
111 бронзовый знак
2
The problem is to go through all the words in an array and the program should return the word with the longest one. Consider for example we are having an array, and we have numbers in alphabetic form, now when we pass this array as an input then we should get the word with the longest one. Below I had explained it with an example in order to give an elaborate view.
Example:
Input : [“one”, “two”, “three”, “four”]
Output: three
Explanation:
As we pass the above array as a input, our program will check which word or which value has the maximum length and after completely iterating through the array then it returns the word with longest length.
Methods 1#: Iterating and finding the greater length word.
Approach:
- First declare a function with the name ‘longest Length ‘ which accepts a list as an argument.
- Now, take a list where you have all the values.
- We are going to take this list, and we will iterate through each item using for loop.
- Then we take two variables max1 and temp to store the maximum length and the word with the longest length.
- After completing the above steps then we take the first value in the list and the first value length in order to compare.
- Once the above steps are completed we compare the items in the list using for loop. Below I had mentioned the logic.
- After completing the above steps run the program, and then we’ll get the required result.
Below is the implementation of the above approach:
Python3
def
longestLength(a):
max1
=
len
(a[
0
])
temp
=
a[
0
]
for
i
in
a:
if
(
len
(i) > max1):
max1
=
len
(i)
temp
=
i
print
(
"The word with the longest length is:"
, temp,
" and length is "
, max1)
a
=
[
"one"
,
"two"
,
"third"
,
"four"
]
longestLength(a)
Output
The word with the longest length is: third and length is 5
Time Complexity: O(n)
Auxiliary Space: O(n)
Methods 2#: Using sort().
Approach:
- First declare a function with the name ‘longest Length ‘ which accepts a list as an argument.
- Now, take a list where you have all the values.
- We are going to take this list, and we will iterate through each item using for loop.
- Then we take an empty list with the name final List and will append all the items.
- After appending we will sort the list using the sort() method.
- Now, as the list is sorted we can get the longest length, and we can display it.
- After completing the above steps run the program, and then we’ll get the required result.
Below is the implementation of the above approach:
Python3
def
longestLength(words):
finalList
=
[]
for
word
in
words:
finalList.append((
len
(word), word))
finalList.sort()
print
(
"The word with the longest length is:"
, finalList[
-
1
][
1
],
" and length is "
,
len
(finalList[
-
1
][
1
]))
a
=
[
"one"
,
"two"
,
"third"
,
"four"
]
longestLength(a)
Output
The word with the longest length is: third and length is 5
Time Complexity: O(n)
Auxiliary Space: O(n)
Approach using max() method: This approach uses the max() function with key arguments and find the longest word.
Python3
def
longestLength(words):
res
=
max
(words,key
=
len
)
print
(
"The word with the longest length is:"
, res,
" and length is "
,
len
(res))
a
=
[
"one"
,
"two"
,
"third"
,
"four"
]
longestLength(a)
Output
The word with the longest length is: third and length is 5
Time Complexity: O(n)
Auxiliary Space: O(n)
Approach using reduce() method: Here’s a solution to find the longest word in the list of words using the reduce function from the functools module:
length of the longest word from the list of words using the reduce() method:
Inputs: List of words, a
Output: Length of the longest word in the list, longest_word_length
Import the reduce() function from the functools module.
Define a function longestLength that takes in a list of words as an argument.
Inside the longestLength function, use the reduce() function to compare the length of the words in the list.
The reduce() function takes two arguments: a function that performs the comparison and the list of words.
The function passed to reduce() checks the length of two words and returns the word with the longest length.
Store the result of the reduce() function in the variable longest_word.
Find the length of the longest_word using the built-in len() function and store it in the variable longest_word_length.
Print the longest word and its length using the print() function.
Call the longestLength() function with a list of words as an argument.
The program returns the length of the longest word in the list.
Python3
from
functools
import
reduce
def
longestLength(words):
longest_word
=
reduce
(
lambda
x, y: x
if
len
(x) >
len
(y)
else
y, words)
print
(
"The word with the longest length is:"
, longest_word,
" and length is "
,
len
(longest_word))
a
=
[
"one"
,
"two"
,
"third"
,
"four"
]
longestLength(a)
Output
The word with the longest length is: third and length is 5
Time Complexity:
The time complexity of this program is O(n), where n is the number of words in the list. This is because the reduce() function goes through each word in the list only once to find the longest word.
Auxiliary Space Complexity:
The auxiliary space complexity of this program is O(1). This is because only a few variables are being created and the size of the input does not affect the space complexity. The space used by the reduce() function is also constant as it only stores one value at a time.
Last Updated :
22 Feb, 2023
Like Article
Save Article
Помогаю со студенческими работами здесь
Найти и вывести на экран самое длинное слово в предложении
помогите решить задачу на языке python:
Найти и вывести на экран самое длинное слово в…
Как найти самое частое слово в списке?
Как найти самое частое СЛОВО в списке? С числами мне объяснили, а вот теперь как со словами?
Нужно найти ошибку в коде, который выбирает из строки самое длинное слово и выводит его
Мой код:
def maxWord(S):
a1 = ""
s2 = ""
size1 = 0
size2 = 0
for i in range (0,len(S)):…
Определить самое длинное слово|предложение, удалить слово
на ввод нам дают текст.
Задание: "Удалите самое длинное слово в самом длинном по числу слов…
Найти самое длинное слово, начинающееся с согласной буквы, и поменять его с последним словом в строке (Pascal -> Python)
Дана строка символов.Найти самое длинное слово начинающееся с согласной буквы и поменять его с…
Самое длинное слово
Дано предложение. Напечатать его самое длинное слово.
Помогите, пожалуйста!
Искать еще темы с ответами
Или воспользуйтесь поиском по форуму:
script1adsense2code
script1adsense3code
Список Python: Упражнение-10 с решением
Напишите программу на Python, чтобы найти список слов, длина которых превышает n, из заданного списка слов.
Пример решения : –
Код Python:
def long_words(n, str):
word_len = []
txt = str.split(" ")
for x in txt:
if len(x) > n:
word_len.append(x)
return word_len
print(long_words(3, "The quick brown fox jumps over the lazy dog"))
Пример вывода:
[«быстрый», «коричневый», «прыжки», «над», «ленивый»]
Блок – схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу на Python для клонирования или копирования списка.
Далее: Напишите функцию Python, которая принимает два списка и возвращает True, если у них есть хотя бы один общий член.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
9 ответов
Для каждого слова в списке убедитесь, что, если длина текущего слова больше, чем самое длинное слово, которое мы видели до сих пор, то это новое самое длинное слово.
По сути, вместо того, чтобы хранить длины слов в списке, мы проверяем его каждый раз, а затем определяем слово с самой длинной длиной.
SuuSoJeat
30 янв. 2019, в 00:21
Поделиться
Это не что иное, как алгоритм “линейного поиска”.
давайте возьмем тот же пример с не словами, а цифрами.
nums = [ 9,5,8,6,3,4 ]
#assuming the first element as our biggest number
biggest_number = nums[0]
for i in range(0, len(nums)):
if nums[i] > biggest_number: #comparing each number with the biggest number we assumed
biggest_number = nums[i] #if our current number bigger than biggest_number then replace the value
print(biggest_number)
В коде вы просто сравниваете элементы один за другим со всеми остальными элементами и проверяете, удовлетворяет ли текущий элемент условию (в данном случае это больше, чем другие, или нет), и заменяете значения там, где его нет; и, наконец, возвращает последнее значение, которое удовлетворяло условию.
В вашем коде речь идет о длине строки.
Shivam Pandya
30 янв. 2019, в 04:38
Поделиться
Уже есть несколько хороших ответов, но здесь другой, использующий менее известный key
аргумент для max
:
>>> words = ["dan","kar","dream","adsadsadad","AHAHAHAHAHAHHHAAHAHA","aaa"]
>>> max(words, key=len)
'AHAHAHAHAHAHHHAAHAHA'
Изменить: я пропустил комментарий от @Indominus в моем первоначальном ответе, поэтому он должен получить всю оценку: P
Tony S Yu
30 янв. 2019, в 02:33
Поделиться
У нас есть этот код:
words = ["dan","kar","dream","adsadsadad","AHAHAHAHAHAHHHAAHAHA","aaa"]
best = 0
for index in range(len(words)):
if len(words[index]) > len(words[best]):
best = index
print(words[best])
Давайте разберем это немного:
words = ["dan","kar","dream","adsadsadad","AHAHAHAHAHAHHHAAHAHA","aaa"]
Это создает список слов различной длины.
best = 0
Эта переменная содержит индекс для слова с самой длинной длиной, с которой мы когда-либо встречались.
for index in range(len(words)):
Оператор for
будет перебирать список слов.
if len(words[index]) > len(words[best]):
Этот оператор if
проверяет, длиннее ли слово в текущем индексе, чем слово в индексе, на которое best
указывает.
best = index
Если новое слово длиннее, чем наше лучшее слово, мы устанавливаем лучшее слово для нового индекса.
print(words[best])
Мы печатаем слово, используя сохраненный индекс наилучшего слова.
Rietty
30 янв. 2019, в 02:18
Поделиться
Выше код работает так
- Первая инициализация лучше всего = 0
- Теперь повторяем цикл for на основе длины списка от 0 до 5 индексов,
- если длина слова для индекса [0] больше, чем длина слова index [best] означает, что best будет заменен текущим индексом, вот так
- процесс будет продолжаться до конца цикла
- В конце выведите текущее слово с лучшим значением индекса
Ananth.P
30 янв. 2019, в 02:01
Поделиться
Ваш код перебирает индексы 0, 1, 2,..., length-1
списка именованных words
.
В первый раз он рассматривает строку максимальной длины как строку с индексом 0
то есть, устанавливая best = 0
.
В каждой итерации сравнивается длина текущей строки, представленной в индексе best
со строкой, присутствующей в индексе index
и сбрасывает значение rest
с новым индексом, если условие len(words[index]) > len(words[best])
оценивается как True
Таким образом, после завершения цикла for вы получаете точный индекс строки максимальной длины.
Поэтому, если вы хотите получить максимальную длину, вы также можете рассчитать максимальную длину строки и ее длину.
Ниже приведена единственная строка кода, использующая reduce()
и lambda
которую вы можете использовать для получения длины строки максимальной длины, доступной в списке.
>>> words = ["dan","kar","dream","adsadsadad","AHAHAHAHAHAHHHAAHAHA","aaa"]
>>>
>>> reduce(lambda a, b: a if len(a) > len(b) else b, words)
'AHAHAHAHAHAHHHAAHAHA'
>>>
>>> len(reduce(lambda a, b: a if len(a) > len(b) else b, words))
20
>>>
hygull
30 янв. 2019, в 01:44
Поделиться
Один лайнер:
max(words, key=x : len(x))
Chris
30 янв. 2019, в 01:38
Поделиться
Цикл for
выполняет итерацию динамически создаваемого списка индексов от 0 до длины words
, равной 6. (диапазон не включает 6-й индекс.)
Тогда, если длина слова в индексе значения index
больше, чем ранее выбранное самое длинное слово, новым индексом самого длинного слова будет текущий индекс.
Trace: best = 0 index = 0
Является ли длина слова [индекс] (дан) больше, чем длина слова [лучший] (дан)? Перейдите к следующей итерации.
лучший = 0 индекс = 1
Является ли длина слова [index] (кар) больше, чем длина слова [best] (дан)? Перейдите к следующей итерации.
лучший = 0 индекс = 2
Является ли длина слова [индекс] (сон) больше, чем длина слова [лучший] (дан)? Да. Новое значение best – 2.
Затем повторяйте процесс, пока не завершите выполнение процесса
Kenneth Sumang
30 янв. 2019, в 01:18
Поделиться
best = 0
:
Это означает, что пока самая длинная длина в списке равна 0. Это значение будет обновлено в цикле.
for index in range(len(words))
:
В вашем примере len (words) равно 6, то есть количество слов в вашем списке “слов”. Таким образом, цикл будет идти от индекса 0 (“дан”) до 5 (“ааа”).
Затем программа проверяет, больше ли длина текущего слова, чем длина самого длинного слова. Если он длиннее, текущий индекс сохраняется в переменной best.
Наконец, он печатает слово, соответствующее этому индексу.
Carlos Prado
30 янв. 2019, в 01:14
Поделиться
Ещё вопросы
- 0ключевое слово на элементах встроенного блока
- 0Установка высоты абсолютно позиционированного элемента div по высоте его содержимого
- 0Матричный шаблон C ++, неоднозначность между умножением матрицы на матрицу и числом матриц
- 1Ошибка SDK администратора Google – метод не найден
- 1Как хранить неживые предметы
- 0Как получить пост в Facebook (поиск по ключевым словам) с помощью API
- 0Используйте mousedown и перетащите, чтобы увеличить изображения миниатюр?
- 0нужна помощь, чтобы получить значение с плавающей точкой CSS ‘font-size’
- 0AngularJS – Форма с элементом Select для получения идентификатора из другого объекта
- 0PHP заменить все предложение из строки
- 0Сделать элемент div растянутым на всю высоту страницы
- 1ASP SQL Update страницы просмотров при щелчках ссылок
- 0Сайт AngularJS – полный или частичный
- 0jsViews: привязка функции / помощника к событию DOM
- 0Почему передача одного запроса даты через Mysql2 из Ruby работает, а другой нет?
- 1Скачать холст в PNG на черном фоне
- 1Почему мои данные не маскируются?
- 0Выберите следующее «свободное» целое число на основе ввода
- 0загрузить файл в Yii, не показывая имя / путь к изображению
- 1оператор try-catch не возвращается к блоку try при отлове исключения
- 0создание пользовательской базы данных в GAE Java
- 0AngularJS – объект не передан в модальный диалог
- 1Я не понимаю, как использовать «это» и «это» в Java
- 0Двоичное дерево не вставляется
- 0AngularJS, $ cookieStore.put не является функцией
- 1Выполнение пакетного файла с зависимостью пути в c #
- 1Попробуйте и поймать блоки: будь то в самом классе или когда я вызываю метод вне класса
- 0Как сгенерировать серийный номер при выборе всех данных из таблицы?
- 1умножение градиента матрицы
- 0jQuery Удалить часть HTML и добавить новый HTML
- 0Сортировка пользовательского связанного списка с помощью <алгоритма> сортировки
- 1IndexOutOfBoundsException при добавлении элементов к определенному индексу с помощью обозревателя LiveData
- 0Автоматически включая несколько исходных файлов с -gcc?
- 0Невозможно использовать скалярное значение в качестве массива – толчок массива
- 0Как я могу проверить функцию синхронизации в C ++
- 0Пример проекта не запускается
- 1Обновление GPS-местоположения перестает обновляться, если положить приложение в фоновом режиме и отключить экран на huawei mya-L22
- 0Изменение фона тела при наведении на ссылку
- 1Использование PowerShell в качестве двоичного файла CGI в IIS Express
- 0преобразовать строку UTF-8 в Windows-1250 в JavaScript
- 0Динамическое воссоздание формы HTML / jQuery Mobile в jQuery
- 0ngSwitch не обновляется при изменении модели данных
- 1Невозможно получить команду оболочки ADB с путем, работающим в оболочке Windows
- 0PHP сервер: сохранить (загрузить) изображение с Android с помощью Retrofit
- 1Речь Google TTS
- 0Почему я не могу использовать службу $ http в разрешении маршрута?
- 0Альтернатива нулевой структуре размера
- 1API извлечения не возвращает такой же возврат XMLHttpRequest
- 0Инвертирование списка номеров и пропуск других [закрыт]
- 0Сайт Parallax – исправление фоновых изображений для мобильного телефона Interent Explorer 10