class ZipperMap(dict):
def __setitem__(self,key,value):
if not self.has_key(key):
super(ZipperMap, self).__setitem__(key,[value])
else:
self[key].append(value)
if __name__=='__main__':
m=ZipperMap()
m[1]=2
m[1]=3
print m[1]
输出[2,3]重写setitem方法 ,如果为第一次赋值 则初始化一个列表,否则则append到得到的列表中去
本文介绍了一种自定义字典类ZipperMap的实现方法,该类重写了setitem方法,使得对于同一个键可以存储多个值,并将新值追加到已有值列表中。示例代码展示了如何创建此类并使用它来存储重复键的多个值。
538

被折叠的 条评论
为什么被折叠?



