不可改变的列表需要重写——len——和——getitem——两个方法
代码:
class MyList:
def __init__(self, *args):
self.l = [i for i in args]# 用列表推导式构建列表
self.count = {}.fromkeys(range(len(args)), 0)# 初始化访问次数全为0
def __len__(self):
return len(self.l)
def __getitem__(self, key):
self.count[key] += 1# 列表某项的访问次数加1
return self.l[key]