Classical FP problem in python : Hamming problem
Bengt Richter
bokr at oz.net
Tue Jan 25 10:57:15 CET 2005
On 25 Jan 2005 08:30:03 GMT, Nick Craig-Wood <nick at craig-wood.com> wrote:
>Francis Girard <francis.girard at free.fr> 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
More information about the Python-list
mailing list