Задать вопрос
@pypyshka

Как вывести строку, содержащую максимально большое число, из списка?

Добрый день.

Есть список, например, a = [текст/1/текст, текст/3/текст, текст/2/текст] (текст с наибольшим числом может быть в любой позиции списка). Как можно, в данном случае, найти и вывести строку с наибольшим числом, то есть "текст/3/текст"?
  • Вопрос задан
  • 648 просмотров
Подписаться 1 Оценить 2 комментария
Ответ пользователя JRazor К ответам на вопрос (5)
JRazor
@JRazor
Senior StarkOverFlow Programmer
Вот ключ для поиска: lambda x: int(re.search(r'\d+', x).group(0))

import re

a = ['maz/2/arini', 'ya/16/streb', 'lovel/5/as']
key = lambda x: int(re.search(r'\d+', x).group(0))

print min(a, key=key)  # Минимальное число
print max(a,  key=key)  # Максимальное число
print sorted(a,  key=key)  # Сортировка
Ответ написан