Запитання з тегом «generator»

Генератор - це узагальнення підпрограми, в основному використовується для спрощення написання ітераторів. Виписка про вихід в генераторі не вказує підпрограму, на яку потрібно перейти, а швидше передає значення батьківській процедурі.

9
Коли не сприятливий час для використання генераторів пітонів?
Це скоріше зворотне значення для чого можна використовувати функції генератора Python? : генератори python, вирази генератора та itertoolsмодуль - деякі з моїх улюблених особливостей python в наші дні. Вони особливо корисні при налаштуванні ланцюжків операцій для виконання великої купи даних - я часто використовую їх при обробці файлів DSV. Тож …

6
Різниця між асинхронністю / очікуванням та виходом ES6 у генераторах
Я просто читав цю фантастичну статтю « Генератори », і вона чітко висвітлює цю функцію, яка є допоміжною функцією для обробки функцій генератора: function async(makeGenerator){ return function () { var generator = makeGenerator.apply(this, arguments); function handle(result){ // result => { done: [Boolean], value: [Object] } if (result.done) return Promise.resolve(result.value); return …

7
Як пройти через генератор
Як можна пройти цикл через генератор? Я думав про це так: gen = function_that_returns_a_generator(param1, param2) if gen: # in case the generator is null while True: try: print gen.next() except StopIteration: break Чи є більш пітонічний спосіб?
81 python  generator 

6
Чи можуть генератори бути рекурсивними?
Я наївно намагався створити рекурсивний генератор. Не працював. Це те, що я зробив: def recursive_generator(lis): yield lis[0] recursive_generator(lis[1:]) for k in recursive_generator([6,3,9,1]): print(k) Я отримав лише перший предмет 6. Чи є спосіб змусити такий код працювати? По суті перенесення yieldкоманди на рівень вище за схемою рекурсії?

15
Як заглянути вперед один елемент (заглянути) у генератор Python?
Я не можу зрозуміти, як дивитися вперед на один елемент у генераторі Python. Як тільки я дивлюсь, його немає. Ось що я маю на увазі: gen = iter([1,2,3]) next_value = gen.next() # okay, I looked forward and see that next_value = 1 # but now: list(gen) # is [2, 3] …
78 python  generator  peek 

9
Розрізнення між ітератором та перелічувачем
Запитання для співбесіди для завдання .NET 3.5: "Яка різниця між ітератором та перелічувачем"? Це основна відмінність, яку слід зробити, що з LINQ тощо. У всякому разі, яка різниця? Здається, я не можу знайти твердого визначення в мережі. Не помиліться, я можу знайти значення двох термінів, але я отримую дещо різні …

1
вихід у розуміннях списку та виразах генератора
Наступна поведінка мені здається досить неінтуїтивною (Python 3.4): >>> [(yield i) for i in range(3)] <generator object <listcomp> at 0x0245C148> >>> list([(yield i) for i in range(3)]) [0, 1, 2] >>> list((yield i) for i in range(3)) [0, None, 1, None, 2, None] Проміжні значення останнього рядка насправді не завжди …

7
Генератори на Zipped Python, 2-й коротший: як отримати елемент, який спокійно споживається
Я хочу проаналізувати 2 генератори (потенційно) різної довжини з zip: for el1, el2 in zip(gen1, gen2): print(el1, el2) Однак якщо gen2елементів менше, один додатковий елемент gen1"споживається". Наприклад, def my_gen(n:int): for i in range(n): yield i gen1 = my_gen(10) gen2 = my_gen(8) list(zip(gen1, gen2)) # Last tuple is (7, 7) print(next(gen1)) …

5
Повернення або вихід з функції, яка викликає генератор?
У мене є генератор, generatorа також зручний метод до нього - generate_all. def generator(some_list): for i in some_list: yield do_something(i) def generate_all(): some_list = get_the_list() return generator(some_list) # <-- Is this supposed to be return or yield? Потрібно generate_all returnчи yield? Я хочу, щоб користувачі обох методів використовували його однаково, …

3
Більшість пітонічних дзвінків, що породжують правду?
Клас collections.defaultdictприймає фабрику за замовчуванням, яка використовується для генерування значення за замовчуванням. Якщо значення, що містяться в dictоб'єкті -like, мають бути за замовчуванням False, екземпляр може бути створений у вигляді: d_false = defaultdict(bool) Що є найбільш пітонічним способом досягти того ж за значенням за замовчуванням True? Іншими словами, чи є …
11 python  generator 

2
У PHP: у чому різниця між "поверненням", "врожайністю", "виходом від" та змішуванням як виходу, так і повернення в одній і тій же функції?
Різниця між returnі yieldздавалася очевидною, поки я не з'ясував, що існує yield fromі можливість поєднувати і те, returnі інше yieldв тій самій функції! Моє розуміння returnполягало в тому, що все після цього не було виконано, правда? Однак: function generate(): iterable { return [1, 2, 3]; } foreach (generate() as $value) …
10 php  return  generator  yield 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.