感覺比較有用但實際沒用到的python函式 map()&reduce()&lamdba()
from functools importreduce
#map()批處理,使用函式接收一個元素互不影響
#a = list(map(str,[0,1,2,3,4]))
#print(a)
#def p2(x):
# return x^2
#a =map(p2,[1,2,3,4,5,6])
#print(list(a))
#reduce()累積處理 使用函式接收倆個元素,把結果作為下一個元素使用:
#reduce需要import
def my_sum(x,y):
return x+y
#a = reduce(my_sum,[1,2,3,4,5,6])
#print(a)
def
return x*10+y
#a = reduce(Convert_integer,[1,2,3,4,5])
#print(a)
def str2num(s):
digits={'0':0,'1':1,'2':2,'3':3}
return digits[s]
#a =reduce(my_sum,map(str2num,['1','2','3']))
# #print(a)
#lambda 用於直接定義函式
a = reduce(lambda x,y: x * 10 + y,map(str2num,['2','1','3']))
print(a)