python取模10^9+7_Python基础9—常用函数

1、Lambda

①Lambda函数体只能有唯一的一条返回值表达式语句,语法为(参数个数可变):

返回函数名=lambda x,y,z:x+y+z

②可做为数组(也可以是字典或者列表)元素,哦那个人实现转表功能,也就是函数列表

定义语法:数组名=[(lambda表达式1),(lambda表达式2)......]

调用方法:数组名[索引](lambda表达式的参数列表)

1 he=lambda x,y,z:x+y+z2 print(he(1,2,6))3 arr1=[(lambda x:x**2),(lambda x:x**3),(lambda x:x**4)]4 print(arr1[0](2),arr1[2](2))

③作为函数的返回值

1 defjisuan(x):2 if x==1:3 return lambda x,y:x+y4 if x==2:5 return lambda x,y:x-y6 if x==3:7 return lambda x,y:x*y8 if x==4:9 return lambda x,y:x/y10

11 action=jisuan(1)12 print(action(10,2))13 action=jisuan(2)14 print(action(10,2))15 action=jisuan(3)16 print(action(10,2))17 action=jisuan(4)18 print(action(10,2))

2、map()

map函数用于将指定序列中的所有元素作为参数调用指定函数,并将结果构成一个新的序列返回语法如下:

结果序列=map(映射函数,序列1[,序列2,......])

1 arr1=map(lambda x:x**2,[2,4,6,8,10])2 for e inenumerate(arr1):3 print(e)4

5 arr2=map(lambda x,y:x+y,[1,3,5,7,9],[2,4,6,8,10])6 for e inenumerate(arr2):7 print(e)

3、filter()

filter函数可以对指定序列执行过滤操作,具体定义如下:

filter=(函数function,序列sequence)

函数functionjj接受一个参数,返回bool,序列可以是列表、元祖、字符串

filter函数一序列参数sequence中的每个元素为参数调用function函数,调用结果为True的元素将作为filter函数的结果返回

1 defis_even(x):2 return x%2==03 arr=filter(is_even,[1,2,3,4,5,6,7,8,9,10])4

5 for e inenumerate(arr):6 print(e)

4、reduce()

将指定序列中的所有元素作为参数按一定的规则调用指定函数,语法如下:

计算结果=reduce(映射函数,序列)

映射函数的参数必须有两个,reduce先调用序列第一和第二个元素,然后再调用第一和第二个元素的结果和第三个元素,以此类推

1 from functools importreduce2 defmyadd(x,y):3 return x+y4 sum=reduce(myadd,(2,4,6,8,10))5 print(sum)

5、zip()

以一些列列表作为参数,将列表中对应的元素打包成一个个元组,然后返回有这些元祖组成的列表(如果传入的参数长短不一,则返回列表的长度与最短的参数相同)

1 a=[1,2,3]2 b=[4,5,6]3 zipped=zip(a,b)4 for element inzipped:5 print(element)6 print('--------------')#虚线前后得到的结果是一样的7 b=[4,5,6,7,8,9]8 zipped=zip(a,b)9 for element inzipped:10 print(element)

1 a=[1,2,3]2 b=[4,5,6]3 zipped=zip(a,b)4 unzipped=zip(*zipped)5 for element inunzipped:6 print(element)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值