1# -*- coding: utf-8 -*
foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
##filter(function, sequence) returns a sequence consisting of those
#items from the sequence for which function(item) is true.
#If sequence is a str, unicode or tuple, the result
#will be of the same type; otherwise, it is always a list. For example,
#to compute a sequence of numbers divisible by 3 or 5:
print list(filter(lambda x: x % 3 == 0, foo))
print [x for x in foo if x % 3 == 0]
def ft(x):
return x % 3 == 0
print filter(ft,foo)
#map(function, sequence) calls function(item) for each of the sequence’s
#items and returns a list of the return values. For example, to compute some cubes:
def mapp(x,y,z):
return x+y+z
print map (mapp,foo,foo,foo)
print map (lambda x,y,z:x+y+z,foo,foo,foo)
#reduce(function, sequence) returns a single value constructed by calling the binary function
#function on the first two items of the sequence, then on the result and the next item, and so on.
# For example, to compute the sum of the numbers 1 through 10:
def re(a1,a2):
return a1+a2
print reduce(re,foo)
print reduce(lambda x ,y:x+y,foo)