原生的Python函数用于从列表中删除NoneType元素?
- 论坛
- 原生的Python函数用于从列表中删除NoneType元素?
8 浏览
原生的Python函数用于从列表中删除NoneType元素?
我使用Python中的Beautiful Soup来从HTML文件中获取一些数据。在某些情况下,Beautiful Soup返回的列表包含了既有string
对象又有NoneType
对象。我想要过滤掉所有的NoneType
对象。
在Python中,包含NoneType
对象的列表是不可迭代的,所以对于这个问题列表推导式不是一个选项。具体来说,如果我有一个包含NoneTypes
的列表lis
,并尝试像这样做[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: # 过滤掉NoneType if type(l) == str: lis2.append(l) return lis2
然而,如果存在的话,我想使用Python内置的函数来实现这个功能。我总是喜欢在可能的情况下简化我的代码。 Python是否有一个内置的函数可以从列表中删除NoneType
对象?