1. 程式人生 > >L3.十一.匿名函式和map方法

L3.十一.匿名函式和map方法

# 匿名函式   (講完L4之後列表生成之前的)
# 引題:計算某個數的平臺值

def square(n):
return n * n


print(square(3))

# 關鍵字lambda,語法糖,跟上面def定義的函式功能一致,匿名函式沒有名字,沒有函式,有形參,有return語句
#lambda後面跟的是返回值 相當於普通寫法的return,冒號後面跟的是表示式,相當於普通寫法函式體中的內容

#好處,可以換成單行,更加簡潔,與其他表示式連用
lambda x: x*x # (引數): x*x
f = lambda x: x*x #沒有名字的函式,我想呼叫他,先把他賦值給一個變數
print(f(3))

# 場景: 適合不太複雜的函式和跟其它表示式連用



# 2.map(方法,可迭代列表),依次把可跌打物件中每一項的值帶入到方法進行計算, 返回值是map物件(結果列表)
# 方法也可以作為形參

def square(n):
return n * n

for i in map(square,[1,2,3]):
print(i)
map(square,[1,2,3]) # [1,4,9]

# new_list = []
# for i in [1,2,3]:
# num_square = square(i)
# new_list.append(square(i))
# print(new_list)


# map跟匿名函式連用
map(lambda x:x*x,[1,2,3])