我有一个输入字典,我想将键与另一个字典进行比较,如果查找字典中的键被命中,我希望它运行一个函数作为查找字典中的值。
查找字典中的函数将返回一个需要“更新”到新字典中的键值对。所以这里有一个例子:
out = {getattr(self,self.LOOKUPDICT[k])({k:query[k]}) for k in query.keys() if k not in self.exclusions}
的结果
getattr(self,self.LOOKUPDICT[k])({k:query[k]})
是一个看起来像这样的字典:
{'new_key':'new_val'}
在我得到的理解中
TypeError: unhashable type: 'dict'
因为它需要一个键值对。
现在我可以运行一个常规循环和一个 if 语句,但我对这些有点反感。这里有什么解决方法吗?
TLDR:字典理解,如何插入这样的字典:
{{'k':'v'} for k in blahblah}
并使 k 成为键和 va 值。请注意,dict 是从在表达式中运行的函数返回的。