Напишите функцию 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(ваш список))
Новые вопросы