我想创建一个函数,返回字典的副本,不包括列表中指定的键。
考虑这本词典:
my_dict = {
"keyA": 1,
"keyB": 2,
"keyC": 3
}
致电without_keys(my_dict, ['keyB', 'keyC'])
应该返回:
{
"keyA": 1
}
我想用一行简洁的字典理解来完成此操作,但我遇到了麻烦。我的尝试是这样的:
def without_keys(d, keys):
return {k: d[f] if k not in keys for f in d}
这是无效的语法。我怎样才能做到这一点?
您已经很接近了,请尝试下面的代码片段:
>>> 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}
基本上,if k not in keys
在上述情况下将出现在 dict 理解的末尾。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)