首页 > 编程知识 正文

Python删除字典里的空项目

时间:2023-11-22 08:50:01 阅读:289747 作者:SOSM

本文将介绍如何使用Python删除字典里的空项目。

一、使用for循环删除

使用for循环遍历字典,将值为空的项目删除。


dict = {'name': 'Tom', 'age': '', 'gender': 'Male'}

for key, value in dict.items():
    if value == '':
        del dict[key]

以上代码会报错,因为在遍历字典时删除字典里的项目会导致遍历的顺序发生变化。可以使用copy()方法在新字典中删除旧字典中的项目。


dict = {'name': 'Tom', 'age': '', 'gender': 'Male'}
new_dict = dict.copy()

for key, value in dict.items():
    if value == '':
        del new_dict[key]

以上代码可以成功删除值为空的项目。

二、使用字典推导式删除

使用字典推导式一行代码实现删除。


dict = {'name': 'Tom', 'age': '', 'gender': 'Male'}
new_dict = {key: value for key, value in dict.items() if value != ''}

以上代码中使用了字典推导式,判断value是否为空,去除空项目后将新字典返回给new_dict。

三、使用filter()函数删除

使用Python自带的filter()函数快速删除。


dict = {'name': 'Tom', 'age': '', 'gender': 'Male'}
new_dict = dict(filter(lambda item: item[1] != '', dict.items()))

以上代码中使用了filter()函数和lambda表达式,快速过滤出字典中值不为空的项目,并返回到新字典里。

四、使用列表推导式删除

使用列表推导式一行代码删除。


dict = {'name': 'Tom', 'age': '', 'gender': 'Male'}
new_dict = {k: v for k, v in dict.items() if v}

以上代码中使用了列表推导式,快速去除值为空的项目,只保留值不为空的键值对。

五、总结

本文介绍了四种删除字典中空项目的方法,分别是for循环删除、字典推导式删除、filter()函数删除和列表推导式删除。实际应用中可根据需要选择不同的方式进行操作。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。