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