Функция, исключающая строковые элементы из списка - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь написать функцию, которая удаляла бы строковые элементы из списка и возвращала новый список.

Мое решение:

def foo(lst):
    for i in lst:
        if type(i) == str:
           lst.remove(i)

    print(lst)
    return(lst) 


В то время как правильным является:

def foo(lst):
    return [i for i in lst if not isinstance(i, str)]

Разве логики c в принципе не совпадают? Где моя ошибка? В некоторых списках мой код работает, для некоторых нет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...