编程语言
首页 > 编程语言> > Python 内置(builtins)的高阶函数 map,filter,sorted

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