Автор оригинала: Chris.
Используйте встроенный Python Макс ()
Функция с клавишным аргументом, чтобы найти самую длинную строку в списке. Позвоните Макс (lst,)
Чтобы вернуть самую длинную строку в lst
Использование встроенного Лен ()
Функция для ассоциирования веса каждой строки – самая длинная строка будет максимальной.
Постановка проблемы
Учитывая список строк Python. Найдите строку с максимальным количеством символов – самая длинная строка в списке.
Вот несколько примеров списка строк и желаемый выход:
# ['Alice', 'Bob', 'Pete'] ----> 'Alice' # ['aaa', 'aaaa', 'aa'] ----> 'aaaa' # [''] ----> '' # [] ----> ''
Решение: MAX () Функция с клавишным аргументом функции Len ()
Используйте встроенный Python Макс ()
Функция с клавишным аргументом, чтобы найти самую длинную строку в списке. Позвоните Макс (lst,)
Чтобы вернуть самую длинную строку в lst
используя Встроенный Лен ()
Функция для ассоциирования веса каждой строки – самая длинная строка будет максимальной.
Вот определение кода get_max_str ()
Функция, которая принимает список строк в качестве ввода и возвращает самую длинную строку в списке или ValueError.
Если список пуст.
def get_max_str(lst): return max(lst, key=len)
Вот вывод на наших желаемых примерах:
print(get_max_str(['Alice', 'Bob', 'Pete'])) # 'Alice' print(get_max_str(['aaa', 'aaaa', 'aa'])) # 'aaaa' print(get_max_str([''])) # '' print(get_max_str([])) # ValueError
Дело по границе: что, если список пуст?
Если вы хотите вернуть альтернативное значение в случае Список пуст Вы можете изменить get_max_str ()
Функция, чтобы включить второй дополнительный аргумент:
def get_max_str(lst, fallback=''): return max(lst, key=len) if lst else fallback print(get_max_str([])) # '' print(get_max_str([], fallback='NOOOOOOOOO!!!!!!')) # NOOOOOOOOO!!!!!!
Решение с циркой
Меньше Pythonic, но для начинающих кодеров, более читаемая версия – это следующий цикл, –
def get_max_str(lst, fallback=''): if not lst: return fallback max_str = lst[0] # list is not empty for x in lst: if len(x) > len(max_str): max_str = x return max_str print(get_max_str(['Alice', 'Bob', 'Pete'])) # 'Alice' print(get_max_str(['aaa', 'aaaa', 'aa'])) # 'aaaa' print(get_max_str([''])) # '' print(get_max_str([], fallback='NOOOOOOOOO!!!!!!')) # NOOOOOOOOO!!!!!!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.
Оригинал: “https://blog.finxter.com/how-to-find-the-longest-string-in-a-python-list/”