‘’’
a=3#指令式编程,def,for,if,elif,while.
函数式编程,map,reduce,filter,lambda
使用以上关键词,可以实现任意的python程序
map:一对一,给一个列表,生成一个新的列表
12
22
32
…
102
‘’’
#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)