Вывести строку, удовлетворяющую условию
Подскажите с вопросом. Есть строка и список, в котором хранятся символы (символы могут быть частью слова, а могут быть вообще рандомными). Нужно вывести максимальную строку (элемент списка), которая является частью слова.
Напрмиер:
line = 'привет'
list_with_letters = ['п', 'qwe', 'пр', 'hello', 'прив', 'прйцу']
Вывод:
прив
Скажите, можно ли это сделать с помощью max и key? Например:
for word in list_with_letters:
if ... max(word, key=len)?
Ответы (1 шт):
Автор решения: roddar92
→ Ссылка
Ответ в одну строку:
max([word for word in list_with_letters if word in line], key=len)
Ещё как вариант можно воспользоваться функцией filter:
max(filter(lambda w: w in line, list_with_letters), key=len)