鱼C论坛

 找回密码
 立即注册
查看: 674|回复: 2

问题就是48讲的动动手,为什么调用基类的方法就可以避免直接建立列表的问题呢

[复制链接]
发表于 2018-12-27 21:12:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. class CountList(list):   
  2.     def __init__(self, *args):        
  3.     super().__init__(args)        
  4.     self.count = []        
  5.     for i in args:            
  6.         self.count.append(0)     
  7.    
  8.     def __len__(self):        
  9.         return len(self.count)     
  10.    
  11.     def __getitem__(self, key):        
  12.         self.count[key] += 1        
  13.         return super().__getitem__(key)     
  14.    
  15.     def __setitem__(self, key, value):        
  16.         self.count[key] += 1        
  17.         super().__setitem__(key, value)     
  18.         
  19.     def __delitem__(self, key):        
  20.         del self.count[key]        
  21.         super().__delitem__(key)     
  22.         
  23.     def counter(self, key):        
  24.         return self.count[key]     
  25.         
  26.     def append(self, value):        
  27.         self.count.append(0)        
  28.         super().append(value)
  29.         
  30.     def pop(self, key=-1):        
  31.         del self.count[key]        
  32.         return super().pop(key)     
  33.         
  34.     def remove(self, value):        
  35.         key = super().index(value)        
  36.         del self.count[key]        
  37.         super().remove(value)     
  38.         
  39.     def insert(self, key, value):        
  40.         self.count.insert(key, 0)        
  41.         super().insert(key, value)     
  42.         
  43.     def clear(self):        
  44.         self.count.clear()        
  45.         super().clear()     
  46.         
  47.     def reverse(self):        
  48.         self.count.reverse()        
  49.         super().reverse()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-27 21:23:49 | 显示全部楼层
没懂,缩进也不对
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-27 21:55:54 | 显示全部楼层
塔利班 发表于 2018-12-27 21:23
没懂,缩进也不对

要求1:实现获取、设置和删除一个元素的行为(删除一个元素的时候对应的计数器也会被删除)@M>X{^
要求2:增加 counter(index) 方法,返回 index 参数所指定的元素记录的访问次数C]A}*
要求3:实现 append()、pop()、remove()、insert()、clear() 和 reverse() 方法(重写这些方法的时候注意考虑计数器的对应改变)
这个是要求,缩进改回来了,就是那个基本上每个函数都是用基类的方法写的,我想知道这个是怎么实现上面的功能的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-12 16:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表