def firstn(n):
num = 0
while num < n:
yield num
num += 1
a = list(firstn(10))
print a
b = reduce(lambda x,y:max(x,y), a)
print 'b=',b
sum_of_first_n = sum(firstn(10))
print sum_of_first_n
def multipliers():
return [lambda x, i=i : i * x for i in range(4)]
print [m(2) for m in multipliers()]
ZGVmIGZpcnN0bihuKToKICAgICBudW0gPSAwCiAgICAgd2hpbGUgbnVtIDwgbjoKICAgICAgICAgeWllbGQgbnVtCiAgICAgICAgIG51bSArPSAxCmEgPSBsaXN0KGZpcnN0bigxMCkpCnByaW50IGEKYiA9IHJlZHVjZShsYW1iZGEgeCx5Om1heCh4LHkpLCBhKQpwcmludCAnYj0nLGIKCnN1bV9vZl9maXJzdF9uID0gc3VtKGZpcnN0bigxMCkpCnByaW50IHN1bV9vZl9maXJzdF9uICAKZGVmIG11bHRpcGxpZXJzKCk6CiAgICByZXR1cm4gW2xhbWJkYSB4LCBpPWkgOiBpICogeCBmb3IgaSBpbiByYW5nZSg0KV0KcHJpbnQgW20oMikgZm9yIG0gaW4gbXVsdGlwbGllcnMoKV0KCiAgICAK
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b= 9
45
[0, 2, 4, 6]