Python 内置(builtins)的高阶函数 map,filter,sorted
作者:互联网
map函数:
map(func , *iterables)
用函数对可迭代对象中的每一个元素作为参数计算出新的迭代对象,当最短的一个可迭代对象不在提供数据时,此可迭代对象生成结束。
第一个参数一定是函数,后面是均是迭代对象,返回可迭代对象。
实例:
# 生成一个可迭代对象,要求此可迭代对象可以生成1—9自然数的平方。 # 1,4,9,16…81 def power2(x) return x**2 fox x in map (power2,range(1,10)): print (x) # 求以上数据的和 print(sum(map(power,range(1,10))))
pow()函数
实例:
生成一个可迭代对象,要求此可迭代对象生成
# 1**4,2**3,3**2,4**1 for x in map(pow,[1,2,3,4],[4,3,2,1]) print(x)
filter函数
格式:filter(func,iterable)
作用:
筛选可迭代对象iterable中的数据,返回一个可迭代对象,此可迭代对象将对iterable进行筛选
函数func将对iterable中的每个元素进行求值,返回False时将此数据丢弃,返回True,则保留此数据
实例:
1 #isodd函数判断x是否为奇数,奇数返回True 2 def isodd(x) 3 return x % 2 ==1 4 #打印10以内的奇数 5 for x in filter(isodd,range(10)): 6 print (x) 7 #打印10以内的偶数 8 L= [x for x in filter(lambda x: x%2==0,ranger(10))]
sorted函数
格式:
sorted(iterable,key=None,reverse=False)
参数说明:
key 绑定函数,此函数可用来提供一个排序的依据
reverse标志用来是否降序
作用:
将原可迭代的对象数据进行排序,生成排序后的列表
实例:
L = [5 , -2 , -4 , 0 , 3 , 1] L4 = sorted(L, key=abs) L4 = [0 , 1 , -2 , 3 , -4 ,5 ]
递归函数 recursion
函数直接或间接的调用自身,要控制递归的层数
示例:
#直接调用自身 def f(): f() #调用自己 f() print ("调用自身") #间接调用自身 def fa(): fb() def fb() fa() fa()
说明:
递归一定要控制递归的层数,当符合某一条件时要终止递归
几乎所有的递归都能用循环来代替
递归的优缺点:
优点:
递归可以把问题简单化,让路径更为清晰,代码更为简洁
缺点:
递归因系统环境影响大,当递归深度太大时,可以会得到不可预知的结果。
示例:
求:100 +99 +98 +97+ ..+1 :
分析:
先假设musum() 已经完成且能求x+(x-1)+..+1的和
def mysum(x): #选判断终止条件 if x == 1: return 1 return x+ mysum(x-1) print (musum(100)) #5050
标签:map,builtins,迭代,递归,10,Python,对象,print,函数 来源: https://www.cnblogs.com/chaopower/p/11337130.html