Собственная функция 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
объекты из списков?