find all multiplicands and multipliers for a number
Chris Angelico
rosuav at gmail.com
Mon Apr 13 22:47:43 EDT 2015
On Tue, Apr 14, 2015 at 12:42 PM, Paul Rubin <no.email at nospam.invalid> wrote:
> Just for laughs, this prints the first 20 primes using Python 3's
> "yield from":
>
> import itertools
>
> def sieve(ps):
> p = ps.__next__()
> yield p
> yield from sieve(a for a in ps if a % p != 0)
>
> primes = sieve(itertools.count(2))
> print(list(itertools.islice(primes,20)))
Small point: Calling dunder methods is usually a bad idea, so I'd
change this to "p = next(ps)" instead. But yep, that works...
inefficiently, but it works.
ChrisA
More information about the Python-list
mailing list