我有一个 python dict,我想从我的字典中默默地删除其中一个None
和''
键,所以我想出了这样的东西:
try:
del my_dict[None]
except KeyError:
pass
try:
del my_dict['']
except KeyError:
pass
如您所见,它的可读性较差,并且会导致我编写重复的代码。所以我想知道python中是否有一种方法可以从字典中删除任何键而不抛出键错误?
我有一个 python dict,我想从我的字典中默默地删除其中一个None
和''
键,所以我想出了这样的东西:
try:
del my_dict[None]
except KeyError:
pass
try:
del my_dict['']
except KeyError:
pass
如您所见,它的可读性较差,并且会导致我编写重复的代码。所以我想知道python中是否有一种方法可以从字典中删除任何键而不抛出键错误?
你可以这样做:
d.pop("", None)
d.pop(None, None)
弹出带有您忽略的默认值的字典。
您可以使用该dict.pop
方法并忽略结果:
for key in [None, '']:
d.pop(key, None)
以下将删除密钥(如果存在),并且不会引发错误:
for d in [None, '']:
if d in my_dict:
del my_dict[d]
你可以试试:
d = dict((k, v) for k,v in d.items() if k is not None and k != '')
或删除所有类似空的键
d = dict((k, v) for k,v in d.items() if k )