python函数式编程

‘’’
a=3#指令式编程,def,for,if,elif,while.
函数式编程,map,reduce,filter,lambda
使用以上关键词,可以实现任意的python程序
map:一对一,给一个列表,生成一个新的列表
12
2
2
32

10
2
‘’’
#for i in range(10):

print(i)

ls=[] ###使用map替代for
for i in range(1,11):
ls.append(i*2)###列表中的每一个元素都做了一个操作。

list(map(lambda x:x*2,range(1,11)))
############ 2.替代if
score=50 ###使用lambda and or 替代if
if score>=80:
n=‘优秀’
elif score >=60:
n=‘良好’
else:
n=‘不及格’

getname=lambda score:(score>=80 and ‘优秀’) or
(score>=60 and ‘良好’) or
‘不及格’
getname(score)

获取ls中元素大于4的子集合

ls=[1,2,3,4,5,6]
for i in ls:
if i>4:
print(i)

l=list(filter(lambda x:x>4,ls))#filter 过滤

###reduce 多对一
from functools import reduce#3.0之后修改在此包中
ls=[1,2,3,4,5]#### 统计集合元素之和,[[[1+2]+3]+4]+5
‘’’
1+2
a+b=
3+4
a+b=
7+5
a+b=
‘’’
reduce(lambda a,b:a+b,ls)###
ls=[‘1’,‘2’,‘3’,‘4’,‘5’]
reduce(lambda a,b:a+b,ls)###
reduce(lambda a,b:int(a)+int(b),ls)###
#sum(ls)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值