Собственная функция Python для удаления элементов NoneType из списка?

Я использую Beautiful Soup в Python, чтобы очистить некоторые данные из файлов HTML. В некоторых случаях Beautiful Soup возвращает списки, которые содержат обаstring а такжеNoneType объекты. Я хотел бы отфильтровать всеNoneType объекты.

В Python списки с содержаниемNoneType объекты не повторяемы, поэтому понимание списка не вариант для этого. В частности, если у меня есть списокlis содержащийNoneTypesи я пытаюсь сделать что-то вроде[x for x in lis (some condition/function)], Python выдает ошибкуTypeError: argument of type 'NoneType' is not iterable.

Как мы видели вдругие постыЭто просто реализовать эту функцию в пользовательской функции. Вот мой вкус этого:

def filterNoneType(lis):
    lis2 = []
    for l in links: #filter out NoneType
        if type(l) == str:
            lis2.append(l)
    return lis2

Тем не менее, я хотел бы использовать встроенную функцию Python для этого, если она существует. Мне всегда нравится упрощать мой код, когда это возможно.Есть ли в Python встроенная функция, которая может удалитьNoneType объекты из списков?

Ответы на вопрос(5)

Ваш ответ на вопрос