"""匿名函数lambda"""
r=lambda x,y:x*y#实现x*y,
print(r(2,3))
from functools import reduce#调用reduce实现归并性任务
print(reduce(lambda x,y:x+y,range(1,101)))#实现1到100相加结果5050
"""map函数处理多个序列数据"""
t=map(lambda x:x**2,range(1,10))#平方数组中的元素
#t=map(lambda x:x**2,[1,2,3,4,5,6])
print(t)
print(list(t))#通过list对t进行类型变换,也可以通过循环将t中的值打印出来for a in t:print(a)
print(list(t))#取了一次再取数据就没了
#按最小数组将两个数组相加
t=map(lambda x,y:x+y,[1,2,3,4,5],[1,2,4,5])#实现任意数组相加
print(list(t))
t=map(lambda x,y:x+y,range(1,20),range(2,5))#实现连续数组相加
print(list(t))
#可以通过lambda实现数组的加减乘除等计算
"""filter函数数据过滤"""
t=filter(lambda x:x%2==0,range(1,10))#筛选出数组中的偶数,余数为0
print(list(t))#等于for a in t:print(a)
"""通过生成器函数Generator实现字符串翻转"""
def Reverse(data):
for i in range(len(data)-1,-1,-1):
yield data[i]
for i in Reverse("python"):
print(i,end=' ')
print()
str="python"#数组实现字符串翻转
print(str[::-1])
"""global全局变量"""
a=5
def func():
global a#获得全局变量a
print(a)
a=3
print(a)
func()
print(a)#被改变后的a
#nonlocal可以引用比优先级低的作用域下的变量,
# 运行时则会在本地作用域以外按照优先级的顺序逐级去寻找声明的变量,并引用该变量