Даю 100 балов за помощь. Почему у меня код не работает ?
def filter_list(l):
return [l[i].pop if str(l[i]).isdigit() for i in range(len(l)) else None]

print(filter_list([1,2,'dd', 4]))

Задача: сделать чтоб проверялся список и возвращались только числа. В одну строку функции.

Приложения:

verificated: вроде лишних скобок нет.. ну или я не вижу
chakaberia13: честно не понял что ты написал XD
ninjazhanibek: нет последняя строчка
ninjazhanibek: там кажется надо убрать 1 скобку где 2 подряд стоят
ninjazhanibek: так-то сам оператор вроде верен
verificated: там скобка от принта и скобка от print() для вывода , от самой функции() и от аргумента списка []
ninjazhanibek: а все вижу
ninjazhanibek: да там скобка нужна
verificated: бывает
verificated: но всё равно спасибо за отзывчивость

Ответы

Ответ дал: trueberry17
1

Ответ: Шото ты намутил такое, я сломалась..

Python Code:

def filter_list(l):

   # Твой принцип выведет 1, 2, 4, 123, '123'

   return [i for i in l if str(i).isdigit()]

   # Если тебе нужно было именно числа, используй типы

   # [i for i in l if type(i) is int]

   # Выведет 1, 2, 4, 123

print(filter_list([1, 2, 'dd', 4, 123, '123']))

Приложения:

trueberry17: если всё-таки нужно было через isdigit(), можешь написать
return [int(str(i)) for i in l if str(i).isdigit()]
verificated: большое спасибо
Вас заинтересует