Return copy of dictionary excluding specified keys Return copy of dictionary excluding specified keys python python

Return copy of dictionary excluding specified keys


You were close, try the snippet below:

>>> my_dict = {...     "keyA": 1,...     "keyB": 2,...     "keyC": 3... }>>> invalid = {"keyA", "keyB"}>>> def without_keys(d, keys):...     return {x: d[x] for x in d if x not in keys}>>> without_keys(my_dict, invalid){'keyC': 3}

Basically, the if k not in keys will go at the end of the dict comprehension in the above case.


In your dictionary comprehension you should be iterating over your dictionary (not k , not sure what that is either). Example -

return {k:v for k,v in d.items() if k not in keys}


This should work for you.

def without_keys(d, keys):    return {k: v for k, v in d.items() if k not in keys}