John Salerno wrote: > Actually I was just thinking about this and it seems like, at least for > my purpose (to simply return a list of numbers), I don't need a > generator.
Yes, if it's just a list of numbers you need, a generator is more flexibility than you need. A generator would only come in handy if, say, you wanted to give your users the option of getting the next N items in the sequence, *without* having to recompute everything from scratch. > My understanding of a generator is that you do something to > each yielded value before returning to the generator (so that you might > not return at all), A generator is just an object that spits out values upon request; it doesn't care what the caller does with those values. There's many different ways to use generators; a few examples: # Get a list of the first 10 from itertools import islice m = [n for n in islice(morris(1), 10)] # Prompt user between each iteration for n in morris(1): if raw_input('keep going? ') != 'y': break print n # Alternate way of writing the above g = morris(1) while raw_input('keep going? ') == 'y': print g.next() --Ben -- http://mail.python.org/mailman/listinfo/python-list