高阶函数:有函数作为参数 或 将函数作为返回值。
1. 效果图:
2.代码
# 创建一个列表 list_one = [1,2,3,4,5,6,7,8,9,10] def fn(func , lst) : ‘‘‘ fn()函数可以将指定列表中的所有偶数获取出来,并保存到一个新列表中返回 参数: lst:要进行筛选的列表 ‘‘‘ # 创建一个新列表 new_list = [] # 对列表进行筛选 for n in lst : # 判断n的奇偶 if func(n) : new_list.append(n) # if n > 5 : # new_list.append(n) # 返回新列表 return new_list print(fn(fn2 , list_one)) # [2, 4, 6, 8, 10] print(fn(fn3 , list_one)) # [6, 7, 8, 9, 10] print(fn(fn4 , list_one)) # [3, 6, 9] # 定义一个函数,用来检查一个任意的数字是否是偶数 def fn2(i) : if i % 2 == 0 : return True return False # 这个函数用来检查指定的数字是否大于5 def fn3(i): if i > 5 : return True return False # 被3整除的数 def fn4(i): return i % 3 == 0 print(3%3==0)
优化上述代码效果图:
优化代码:
# filter() : 从序列中过滤出符合条件的元素,保存到一个新序列中。 不是一个序列。 # 参数: # 1.函数,根据该函数来过滤序列(可迭代的结构) 过滤条件 # 2.需要过滤的序列(可迭代的结构) 过滤序列 # 创建一个列表 list_one = [1,2,3,4,5,6,7,8,9,10] # 被3整除的数 def fn4(i): return i % 3 == 0 r = filter(fn3,list_one) print(r,type(r)) print(list(r))
原文:https://www.cnblogs.com/FlyingLiao/p/11286183.html