编写一个不可改变的自定义列表,要求记录列表中每个元素被访问的次数
class CountList:
def __init__(self,*args):
self.value = [x for x in args]
self.count = {}.fromkeys(range(len(self.values)),0)
def __len__(self):
return len(self.values)
def __getitem__(self,key):
self.count[key] +=1
return self.values[key]
运行结果
>>>c1 = (1,2,3,4,5)
>>>c2 = (4,5,6,7,8)
>>>c1[1]
2
>>>c2[2]
6
>>>c1[1] + c2[2]
8
>>>c1.count
{0:0,1:2,3:0,4:0}