Напечатать строки в порядке убывания
Есть список строк. В каждой строке есть числа, нужно отображать строки в зависимости от количества цифр в числе. От строки с наибольшим количеством цифр до строки с наименьшим.
array = ["My name 1 - Andrew", "My 2222 surname - Ivanov", "I am 25 "]
string = ", ".join(array)
string = string.split()
for i in string:
if i.isdigit():
pass
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
может, воспользоваться регулярками? тут выбирается самое длинное число, если их несколько
import re
a = [x[1] for x in sorted(zip(map(lambda x: max(map(len, re.findall(r'\d+', x))), array), array), reverse=True)]
print(a)
# ['My 2222 surname - Ivanov', 'I am 25 ', 'My name 1 - Andrew']