vanam wrote: > Yes i did a mistake in expressing my problem below are the instances of > the script and its corresponding output,for each instance its giving > contrasting result i want explanation for that
This has pretty much been explained already. Do you have some question with the explanation? > [1]:def squ(n): > return n*n > filter(squ,range(3))---->output is not seen on the interpreter > map(squ,range(3))----->output not seen on the interpreter > print filter(squ,range(3))----->output is [1,2] > print map(squ,range(3))------>output is [0,1,4] > > [2]:def squ(n): > y = n*n > print y > filter(squ,range(3))-->Below is the output Note that in a script, the results of function calls are not printed unless you explicitly ask for it with a print statement. So the output here is from the "print y" in squ(), it is not the result of filter(). > 0 > 1 > 4 > map(squ,range(3))-->Below is the output > 0 > 1 > 4 Again, this is just the output from "print y" > print filter(squ,range(3))--->Below is the output > 0 > 1 > 4 This is the result from filter(): > [] > print map(squ,range(3))-->Below is the output > 0 > 1 > 4 This is the result from map(): > [None,None,None] > I want to know why in each case its giving different results and diff > between filter and map Please reread the previous replies, all of this is explained. Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor