|
|

楼主 |
发表于 2017-11-24 12:34:08
|
显示全部楼层
#P12_8.py
class CountList:
def __init__(self,*args):
self.values = [x for x in args]
self.count = {}.fromkeys(range(len(self.values)),0)
print(self.values)
#def __len__(self):
#return len(self.values)
def __getitem__(self,key):
self.count[key] += 1
return self.values[key]
______________________________________________________________
>>> c1 = CountList(1,3,5,7,9)
[1, 3, 5, 7, 9]
>>> c1[1]
3
>>> c2 = CountList(2,4,6,8,10)
[2, 4, 6, 8, 10]
>>> c2[1]
4
>>> c1[1] + c2[1]
7
>>> c1.count
{0: 0, 1: 2, 2: 0, 3: 0, 4: 0}
>>> c2.count
{0: 0, 1: 2, 2: 0, 3: 0, 4: 0}
我把 def __len__(self):注释掉后未见异常,这个是什么原因?def __len__(self):这句到底是什么用的?
|
|