python - same instruction, different outcome
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 en开发者_高级运维tering 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.
精彩评论