class UniqueDict(dict):
def __setitem__(self, key, value):
if key not in self:
dict.__setitem__(self, key, value)
else:
raise KeyError("Key already exists")
>>> x = {}
>>> print x.setdefault.__doc__
D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
>>> x.setdefault('a', 5)
5
>>> x
{'a': 5}
>>> x.setdefault('a', 10)
5
>>> x
{'a': 5}
这也意味着您可以跳过dict中的“if'key:…else:…”
>>> for val in range(10):
... x.setdefault('total', 0)
... x['total']+=val
...
0
0
1
3
6
10
15
21
28
36
>>> x
{'a': 5, 'total': 45}
您可以随时创建自己的词典
在添加项目之前,只需检查您的dict即可
这就是setdefault的目的:
这也意味着您可以跳过dict中的“if'key:…else:…”
相关问题 更多 >
编程相关推荐