Предмет: Информатика,
автор: verificated
Даю 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:
вроде лишних скобок нет.. ну или я не вижу
честно не понял что ты написал XD
нет последняя строчка
там кажется надо убрать 1 скобку где 2 подряд стоят
так-то сам оператор вроде верен
там скобка от принта и скобка от print() для вывода , от самой функции() и от аргумента списка []
а все вижу
да там скобка нужна
бывает
но всё равно спасибо за отзывчивость
Ответы
Автор ответа:
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']))
Приложения:
если всё-таки нужно было через isdigit(), можешь написать
return [int(str(i)) for i in l if str(i).isdigit()]
return [int(str(i)) for i in l if str(i).isdigit()]
большое спасибо
Похожие вопросы
Предмет: Русский язык,
автор: gurulevmishamisha
Предмет: Немецкий язык,
автор: AlbertLotsan
Предмет: Русский язык,
автор: ФАБИ
Предмет: География,
автор: melnikovdenis06
Предмет: Обществознание,
автор: terne1245