ozgur ozgur - 22 days ago 6
Python Question

silently remove key from a python dict

I have a python dict and I'd like to silently remove either

None
and
''
keys from my dictionary so I came up with something like this:

try:
del my_dict[None]
except KeyError:
pass

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


As you see, it is less readable and it causes me to write duplicate code. So I want to know if there is a method in python to remove any key from a dict without throwing a key error?

Answer

You can do this:

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

Pops dictionary with a default value that you ignore.