Я пытаюсь обернуть голову вокруг generator
и yield
в python. Я понимаю, что функция, имеющая доход, возвращает объект-генератор. Однако, если я попытаюсь преобразовать этот объект генератора в список, он висит на моей машине. Я пытаюсь понять, почему это так. И что является более элегантным способом, если есть, чтобы преобразовать объект-генератор в список.Преобразование объекта генератора в список
def fib():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
a = fib()
print(type(a))
b = fib()
print(type(b))
print(list(b))
Выход
<class 'generator'>
<class 'generator'>
Я не встречал '_' внутри цикла for. что это значит? – liv2hak
@ liv2hak Это в основном означает, что вам не нужна переменная, вам просто нужно повторить что-то _n_ количество раз, когда _n_ является номером, указанным в 'range()'. –
@Sven - интересно. спасибо :) – liv2hak