gpt4 book ai didi

python - 从列表中删除 NoneType 元素的 native Python 函数?

转载 作者:IT老高 更新时间:2023-10-28 22:06:06 27 4
gpt4 key购买 nike

我在 Python 中使用 Beautiful Soup 从 HTML 文件中抓取一些数据。在某些情况下,Beautiful Soup 返回包含 stringNoneType 对象的列表。我想过滤掉所有 NoneType 对象。

在 Python 中,包含 NoneType 对象的列表是不可迭代的,因此列表推导不是一个选项。具体来说,如果我有一个包含 NoneTypes 的列表 lis,并且我尝试执行类似 [x for x in lis (some condition/function)],Python 会抛出错误 TypeError: argument of type 'NoneType' is not iterable

正如我们在 other posts 中看到的那样,在用户定义的函数中实现这个功能很简单。这是我的口味:

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

但是,如果存在的话,我很乐意为此使用内置的 Python 函数。我总是喜欢尽可能简化我的代码。 Python 是否有可以从列表中删除 NoneType 对象的内置函数?

最佳答案

我认为最干净的方法是:

#lis = some list with NoneType's
filter(None, lis)

关于python - 从列表中删除 NoneType 元素的 native Python 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14229433/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com