📜  python filter None 字典 - Python (1)

📅  最后修改于: 2023-12-03 15:34:00.140000             🧑  作者: Mango

Python中使用filter函数过滤字典的None值

在Python中,我们经常会遇到需要过滤掉字典中的None值的情况,通常使用filter函数实现。

filter函数简介

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个filter对象,可以通过list()将其转化为列表或者for循环输出。

函数原型:

filter(function, iterable)

参数说明:

  • function:用于筛选的函数,该函数接受一个参数,返回值为True或False。
  • iterable:可迭代对象,可以为序列、列表、元组等。
字典中的None值过滤

下面是将字典中的None值过滤掉的示例代码:

d = {'a': 1, 'b': None, 'c': 3, 'd': None}
new_d = dict(filter(lambda x: x[1] is not None, d.items()))
print(new_d)

输出结果为:

{'a': 1, 'c': 3}

在上面的代码中,我们首先使用items()函数将字典转化为可迭代对象,然后使用lambda函数作为过滤函数,筛选掉值为None的键值对。最后我们再将filter对象转成字典类型。

通过这种方式,我们可以很方便地过滤掉字典中的None值,保留有用的数据。

总结

通过使用filter函数,我们可以轻松地过滤掉字典中的None值,让数据更加有用和清晰。同时,这种方法也通用于其他的可迭代对象,如序列、列表、元组等。