Допустим, у меня есть функция генератора, которая выглядит так:
def fib():
x,y = 1,1
while True:
x, y = y, x+y
yield x
В идеале я мог бы просто использовать fib() [10] или fib() [2: 12: 2], чтобы получить индексы и срезы, но в настоящее время я должен использовать itertools для этих вещей. Я не могу использовать генератор для замены в списках.
Я считаю, что решение будет состоять в том, чтобы wrap fib() в классе:
class Indexable(object):
....
fib_seq = Indexable(fib())
Что должно выглядеть с индексом, чтобы сделать эту работу?