slice オブジェクト使えばできるかなとか思ったけど

class A:
 def __init__(self,L):
  self.value=L
 def __slice__(self,a,b):
  return self.value[slice(a,b)]

a=A([1,2,3,(4,5),(6,7),8])
print a[0,3]

行 35 : 'instance' object has no attribute '__getitem__'
じぶんには無理でした(爆)