On 25 Jan 2005 08:30:03 GMT, Nick Craig-Wood <[EMAIL PROTECTED]> wrote:
>Francis Girard <[EMAIL PROTECTED]> wrote: >> def hamming(): >> def _hamming(): >> yield 1 >> hamming2 = hammingGenerators[0] >> hamming3 = hammingGenerators[1] >> hamming5 = hammingGenerators[2] >> for n in imerge(imap(lambda h: 2*h, iter(hamming2)), >> imerge(imap(lambda h: 3*h, iter(hamming3)), >> imap(lambda h: 5*h, iter(hamming5)))): >> yield n >> hammingGenerators = tee(_hamming(), 4) >> return hammingGenerators[3] > >If you are after readability, you might prefer this... > >def hamming(): > def _hamming(): > yield 1 > for n in imerge(imap(lambda h: 2*h, iter(hamming2)), > imerge(imap(lambda h: 3*h, iter(hamming3)), > imap(lambda h: 5*h, iter(hamming5)))): > yield n > hamming2, hamming3, hamming5, result = tee(_hamming(), 4) > return result > >PS interesting thread - never heard of Hamming sequences before! Are the long words really that helpful? def hamming(): def _hamming(): yield 1 for n in imerge(imap(lambda h: 2*h, iter(hg2)), imerge(imap(lambda h: 3*h, iter(hg3)), imap(lambda h: 5*h, iter(hg5)))): yield n hg2, hg3, hg5, result = tee(_hamming(), 4) # four hamming generators return result Regards, Bengt Richter -- http://mail.python.org/mailman/listinfo/python-list