class Foo(object):
def __init__(self, key, value):
self.key = []
self.value = []
self.key.append(key)
self.value.append(value)
def __len__(self):
return len(self.key)
def __getitem__(self, item):
try:
__index = self.key.index(item)
return self.value[__index]
except ValueError:
raise KeyError('can not find the key')
def __setitem__(self, key, value):
if key not in self.key:
self.key.append(key)
self.value.append(value)
else:
__index = self.key.index(key)
self.value[__index] = value
def __delitem__(self, key):
try:
__index = self.key.index(key)
del self.key[__index]
del self.value[__index]
except ValueError:
raise KeyError('can not find the key')
def __str__(self):
result_list = []
for index in xrange(len(self.key)):
__key = self.key[index]
__value = self.value[index]
result = __key, __value
result_list.append(result)
return str(result_list)
def __iter__(self):
self.__index = 0
return self
def next(self):
if self.__index == len(self.key):
self.__index = 0
raise StopIteration()
else:
__key = self.key[self.__index]
__value = self.value[self.__index]
result = __key, __value
self.__index += 1
return result
def __reversed__(self):
__result = self.value[:]
__result.reverse()
return __result
def __contains__(self, item):
if item in self.value:
return True
else:
return False
a = Foo('scolia', 'good')
a[123] = 321
a[456] = 654
a[789] = 987
print a
del a[789]
print a
for x, y in a:
print x, y
print reversed(a)
print 123 in a
print 321 in a
class Boo(dict):
def __new__(cls, *args, **kwargs):
return super(Boo, cls).__new__(cls)
def __missing__(self, key):
return 'The key(%s) can not be find.'% key
b = Boo() b['scolia'] = 'good' print b['scolia'] print b['123']
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有