# function filter name ==/ 'omar', 'omer', 'osama', 'ahmed', 'mahmuod', 'abdelrhman'
# and we need just name's start with 'o'
def name(n):
return n.startswith("o")
names_list = ['omar', 'omer', 'osama', 'ahmed', 'mahmuod', 'abdelrhman']
x = filter(name, names_list)
for l in x:
print(l)
print("#" * 100)
# function filter number ==/ 1, 20 , 38 , 550 , 3 and we need the numbers bigger than 2
def num(number):
if number > 2.5:
return number
num_list = [1, 20, 38, 550, 3]
my_num = filter(num, num_list)
print(list(filter(num, num_list))) # Without Loop.
for n in my_num: # With Loop.
print(n)
print("#" * 100)
# function filter name with lambda :-
n = ['omar', 'omer', 'osama', 'ahmed', 'mahmuod', 'abdelrhman']
for p in filter(lambda name: name.startswith("a"), n):
print(p)
print("#" * 100)
# function filter number with lambda :-
num_list = [1, 20, 38, 550, 3]
for N in filter(lambda num: num > 2.4, num_list):
print(N)