Return copy of dictionary excluding specified keys
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}
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.