Python负数下标

来源:互联网 发布:软件行业前景预测 编辑:程序博客网 时间:2024/05/19 06:18


>>> class Fib(object):def __getitem__(self, n):if isinstance(n, int):a, b = 1, 1for x in range(n):a, b = b, a+breturn aif isinstance(n, slice):start = n.startstop = n.stopif start is None:start = 0a, b = 1, 1L = []for x in range(stop):if x >= start:L.append(a)a, b = b, a+breturn L>>> Fib<class '__main__.Fib'>>>> Fib()[8]34>>> Fib()[0:9][1, 1, 2, 3, 5, 8, 13, 21, 34]>>> Fib()[:10][1, 1, 2, 3, 5, 8, 13, 21, 34, 55]>>> a = Fib()[0: 10]>>> a[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]>>> a[-10: -1]           #[1, 1, 2, 3, 5, 8, 13, 21, 34]>>> a[-1]               #the last one's INDEX is -155>>> a[-10]1>>> a[-9]1>>> a[-10: 0][]>>> a[-10: ]         #[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

原创粉丝点击