Вопросы с тегом «generator»

Генератор - это обобщение подпрограммы, в основном используемое для упрощения написания итераторов. Оператор yield в генераторе не указывает сопрограмму, к которой нужно перейти, а скорее передает значение обратно в родительскую процедуру.

17
Сброс генератора объекта в Python
У меня есть объект генератора, возвращаемый с помощью метода yield. Подготовка к вызову этого генератора довольно трудоемкая операция. Вот почему я хочу использовать генератор несколько раз. y = FunctionWithYield() for x in y: print(x) #here must be something to reset 'y' for x in y: print(x) Конечно, я имею в …
153 python  generator  yield 


10
Какие-нибудь инструменты для генерации схемы XSD из экземпляра документа XML? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 6 лет назад . Улучшить этот вопрос Я ищу инструмент, который будет принимать экземпляр документа XML и выводить соответствующую схему …
146 xml  xsd  schema  generator 


7
Есть ли выражение для бесконечного генератора?
Есть ли простое выражение генератора, которое может давать бесконечные элементы? Это чисто теоретический вопрос. Здесь нет нужды в "практическом" ответе :) Например, легко сделать конечный генератор: my_gen = (0 for i in xrange(42)) Однако, чтобы создать бесконечное число, мне нужно «засорить» свое пространство имен ложной функцией: def _my_gen(): while True: …

12
Эквивалент C ++ шаблону генератора Python
У меня есть пример кода Python, который мне нужно воспроизвести на C ++. Мне не требуется какое-либо конкретное решение (например, решения yield на основе совместной подпрограммы, хотя они также могут быть приемлемыми ответами), мне просто нужно каким-то образом воспроизвести семантику. питон Это основной генератор последовательности, явно слишком большой для хранения …



9
Функция пустого генератора Python
В python можно легко определить функцию итератора, поместив ключевое слово yield в тело функции, например: def gen(): for i in range(100): yield i Как я могу определить функцию генератора, которая не дает значения (генерирует 0 значений), следующий код не работает, поскольку python не может знать, что он должен быть генератором, …
104 python  generator 

3
Python: использование рекурсивного алгоритма в качестве генератора
Недавно я написал функцию для генерации определенных последовательностей с нетривиальными ограничениями. Проблема пришла с естественным рекурсивным решением. Теперь случается, что даже для относительно небольшого ввода последовательности составляют несколько тысяч, поэтому я предпочел бы использовать свой алгоритм в качестве генератора, а не использовать его для заполнения списка всеми последовательностями. Вот пример. …

8
Python: выражение генератора против yield
В Python есть ли разница между созданием объекта- генератора с помощью выражения генератора и использованием оператора yield ? Использование yield : def Generator(x, y): for i in xrange(x): for j in xrange(y): yield(i, j) Использование выражения генератора : def Generator(x, y): return ((i, j) for i in xrange(x) for j …

4
enumerate () - создание генератора в Python
Я хотел бы знать, что происходит, когда я передаю результат функции генератора в enumerate () python. Пример: def veryBigHello(): i = 0 while i < 10000000: i += 1 yield "hello" numbered = enumerate(veryBigHello()) for i, word in numbered: print i, word Перечисление повторяется лениво или все перебирает в первую? …

1
Если range () является генератором в Python 3.3, почему я не могу вызвать next () для диапазона?
Возможно, я стал жертвой дезинформации в сети, но я думаю, что более вероятно, что я просто что-то неправильно понял. На основании того, что я узнал до сих пор, range () является генератором, а генераторы могут использоваться как итераторы. Однако этот код: myrange = range(10) print(next(myrange)) дает мне эту ошибку: TypeError: …

17
как разбить итерацию на куски постоянного размера
Возможный дубликат: как в Python разбить список на части равного размера? Я удивлен, что не смог найти «пакетную» функцию, которая принимала бы на вход итерацию и возвращала бы итерабельность итераций. Например: for i in batch(range(0,10), 1): print i [0] [1] ... [9] или же: for i in batch(range(0,10), 3): print …

6
Синтаксис для пропуска создания тестов, ресурсов и помощников для `rails generate controller`?
Я прочитал справку и попробовал следующую команду, чтобы пропустить создание тестов, ресурсов и вспомогательных файлов. $ bin/rails generate controller home index --helper false --assets false --controller-specs false --view-specs false create- app/controllers/home_controller.rb route get "home/index" invoke erb create app/views/home create app/views/home/index.html.erb invoke rspec error false [not found] error false [not found] …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.