本文将介绍如何使用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()函数删除和列表推导式删除。实际应用中可根据需要选择不同的方式进行操作。