ya i am sure about that i am using python editor which has python
intrepreter attached to it i got the same output for both filter and map
def squ(n):
  y = n*n
 print y
filter(y,range(3))->0  1 4
map(y,range(3))->0 1 4

On 1/23/07, Kent Johnson <[EMAIL PROTECTED]> wrote:

vanam wrote:
> i want to know the difference between filter(function,sequence) and
> map(function,sequence).I tried for a simple script with an function
> which finds the square of the number,after including separately filter
> and map in the script i am getting the same results for instance
> def squ(x):
>      return x*x
> filter(squ,range(1,3))->1,4(output)
> map(squ,range(1,3)->1,4(output)

Are you sure about that? I get

In [1]: def sq(x): return x*x
    ...:

In [2]: filter(sq, range(3))
Out[2]: [1, 2]

In [3]: map(sq, range(3))
Out[3]: [0, 1, 4]

map(fn, lst) returns a new list with fn applied to each element of lst.
In terms of list comprehensions, it is [ fn(x) for x in lst ].

filter(fn, lst) returns a new list containing all elements of the
original list for which fn(x) is true. As a list comprehension, it is
[ x for x in lst if fn(x) ]

Kent




--

                                          Vanam
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to