给定一个由 2 元素元组作为键的字典,我想返回其键包含给定元素的所有键值对。
例如字典可以是:
tupled_dict = {('a',1):1, ('a',2):0, ('b',1):1, ('c',4):0}
并且给定的元素是'a',那么应该返回的键值对是:
('a',1):1, ('a',2):0
执行此操作最快的代码是什么?
编辑:
此外,作为一个相关的子问题,我对在给定键元素的情况下删除所有此类键值对的最快方法感兴趣。显然,一旦我有了上面的结果,我就可以使用循环来一个一个地删除每个字典项目,但我想知道是否有捷径可以做到这一点。
请您参考如下方法:
要获得那些:
>>> {k: v for k, v in tupled_dict.iteritems() if 'a' in k}
{('a', 1): 1, ('a', 2): 0}
同理,删除其他的:
>>> tupled_dict = {k: v for k, v in tupled_dict.iteritems() if 'a' not in k}
>>> tupled_dict
{('b', 1): 1, ('c', 4): 0}
