高阶函数——filter
filter(f,itr)`将函数`f`作用于迭代器的每个元素,如果f返回true,则将结果加到最后输出,否则过滤掉
#高阶函数——filter
# filter(f,itr)`将函数`f`作用于迭代器的每个元素,如果f返回true,则将结果加到最后输出,否则过滤掉
#筛选出偶数
list1=list(filter(lambda x:x%2==0,range(1,11)))
print(list1)
#筛选出奇数
list2=list(filter(lambda x:x%2==1,range(1,11)))
print(list2)
#判断分数是否及格
def func(x):
if x>60:
return True
else:
return False
#筛选出及格的分数
list3=list(filter(func,[98,97,59,63,45,86]))
print(list3)
#回数是指从左向右读和从右向左读都是一样的数,例如12321,909。
# 请利用filter()筛选出500以内回数
def isBack(num):
c=num%10
b=int(num/10)%10
a=int(num/100)%10
#print(f"{a}-{b}-{c}")
if a==0:
if b==0:
return True
elif b==c:
return True
else:
return False
elif a==c:
return True
else:
return False
list4=list(filter(isBack,range(0,500)))
print(list4)
运行结果:
[1, 3, 5, 7, 9]
[98, 97, 63, 86]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 222, 232, 242, 252, 262, 272, 282, 292, 303, 313, 323, 333, 343, 353, 363, 373, 383, 393, 404, 414, 424, 434, 444, 454, 464, 474, 484, 494]