Could someone help me understand what is going on in the following Python code (python 3.2)? I'm really clueless here.
import sys
u = sys.stdin.readline()
# try entering the string "1 2 3"
r = map(lambda t: int(t.strip()),u.split())
print(sum(r)) # prints 6
print(sum(r)) # prints 0 ?
Thank you.
map()
in Python 3.x returns an iterator, not a list. Putting it through sum()
the first time consumes it, leaving nothing for the second time.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With