我正在寻找一种最具python风格的方法,将一个字典和一个键名作为输入,并返回没有键(和相关值)作为输出的字典。你知道吗
到目前为止我想到的是:
def SubDict(inputDict,inputkey):
return dict([(key,val) for key,val in inputDict.iteritems() if key != inputkey])
测试用例:
print SubDict({'a':1,'b':2,'c':3},'b')
提供:
{'a': 1, 'c': 3}
有没有更好的建议(更干净和/或更简单的代码)?你知道吗
谢谢你。你知道吗
另一种方法是:
好吧,你的理解也可以换成dictionary display:
但实际上,复制和删除可能更快,因为查找是O(1)。由于过滤器的存在,Python不会提前知道字典的大小,哈希表的增长可能会非常昂贵。你知道吗
这也是相当可读的。你知道吗
如果您想在找不到
inputkey
时忽略大小写,可以用subdict.pop(inputkey, None)
替换del
。这提供了一个默认值(我们忽略了),而不是进行双重检查。你知道吗相关问题 更多 >
编程相关推荐