• Предмет: Информатика
  • Автор: boriskakdela
  • Вопрос задан 1 месяц назад

Напишите функцию integers_only(), которая выбирает из переданного списка только целые числа и возвращает их отсортированными по возрастанию. Пример
Ввод
data = [3, True, 'xzy', 'abc', 42, -2.5, 14,{'a': 1}]
print(integers_only(data))
Вывод
[3, 14, 42]
допоможіть будь ласка, не можу зрозуміти
python

Ответы

Ответ дал: Rinky31
1

Ответ:

1 спосіб (def):

def integers_only(lst):

   res=[]

   for el in lst:

       if str(el).isdigit(): res.append(el)

   return sorted(res)

Ще можна записати функцію так (за допомогою спискового виразу):

def integers_only(lst):

   return sorted([int(i) for i in lst if str(i).isdigit()])

2 спосіб (lambda):

integers_only = lambda lst: sorted([int(i) for i in lst if str(i).isdigit()])

Объяснение: Ці функції повернуть відсортований список, який складатиметься лише з цілих чисел. Потім, за допомогою функції print ви зможете вивести список на екран: print(integers_only(ваш список))

Вас заинтересует