我需要创建一个从Twitter状态ID到其作者ID的地图。 显然,每个状态只有一个作者。
我希望Python collections有类似uniqdict
类的内容,如果d[key] = value
已经有不同,key
会引发异常来自value
:
class uniqdict(dict):
def __setitem__(self,key,value):
try:
old = super(uniqdict,self).__getitem__(key)
if old != value:
raise ValueError(self.__class__.__name__,key,old,value)
except KeyError:
super(uniqdict,self).__setitem__(key,value)
答案 0 :(得分:1)
这看起来像是Write-once dictionary?
的副本无论如何,我认为写一次字典是你要找的名字
答案 1 :(得分:0)
我最近有类似的要求,我需要合并两个dicts,但如果他们有任何共同的密钥则会出错。
我认为没有标准名称,所以让我提出一个: no-overwrite dictionary 。
或许单一更新密钥字典,但这有点难看。
(更简单的替代单一更新字典似乎太误导了。)