关于字典:从python dict中静默删除键

silently removing key from a python dict

本问题已经有最佳答案,请猛点这里访问。

我有一个python dict,我想悄悄地从我的字典中删除None''键,所以我想出了如下的方法:

1
2
3
4
5
6
7
8
9
try:
    del my_dict[None]
except KeyError:
    pass

try:
    del my_dict['']
except KeyError:
   pass

如您所见,它的可读性较低,它会导致我编写重复的代码。所以我想知道在python中是否有一个方法可以在不引发键错误的情况下从dict中删除任何键?


You can do this:P></

1
2
d.pop("", None)
d.pop(None, None)

词典与持久性有机污染物的默认值,你的主。P></


你可以使用dict.popignore the method and the result。P></

1
2
for key in [None, '']:
    d.pop(key, None)


你可以试试:P></

1
d = dict((k, v) for k,v in d.items() if k is not None and k != '')

在empty or to remove样的钥匙P></

1
d = dict((k, v) for k,v in d.items() if k )


将delete the following the keys are present and,if they,它不会把安误差:P></

1
2
3
for d in [None, '']:
    if d in my_dict:
        del my_dict[d]