Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class LazyList:
- def __init__(self, it, cache_step=4):
- self.it = iter(it)
- self.cache = []
- self.cache_step = cache_step
- def __getitem__(self, i):
- while True:
- try:
- return self.cache[i]
- except IndexError:
- pre = len(self.cache)
- self.cache.extend(x for _, x in zip(range(self.cache_step - 1), self.it))
- if pre == len(self.cache):
- raise IndexError
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement