primes = [2,3,5,7..] (prime numbers)
map(lambda x:print(x),primes)
It does not print anything. Why is that? I've tried
sys.stdout.write(x)
too, but doesn't work either.
See Question&Answers more detail:osprimes = [2,3,5,7..] (prime numbers)
map(lambda x:print(x),primes)
It does not print anything. Why is that? I've tried
sys.stdout.write(x)
too, but doesn't work either.
See Question&Answers more detail:osSince lambda x: print(x)
is a syntax error in Python < 3, I'm assuming Python 3. That means map
returns a generator, meaning to get map to actually call the function on every element of a list, you need to iterate through the resultant generator.
Fortunately, this can be done easily:
list(map(lambda x:print(x),primes))
Oh, and you can get rid of the lambda too, if you like:
list(map(print,primes))
But, at that point you are better off with letting print handle it:
print(*primes, sep='
')
NOTE: I said earlier that '
'.join
would be a good idea. That is only true for a list of str's.