目錄
(六)函式----(八)
6.1匿名函式的格式
6.2匿名函式和五個特殊的內建函式可以結合使用
6.3面試題練一練
lambda 引數,引數2 : 返回值表示式
def add(x,y):
return x + y
add = lambda x,y : x+y
print(add(1,4))
匿名函式在內建函式 max() 求最大值,min()求最小值, map() 對映, zip() 合併, filter() 過濾
a.在max()函式中的應用
#max()
ret = map(abs,[-1,2,-3,4])
for i in ret:
print(i)12
34#def
dic=
def func(key):
return dic[key]
print(max(dic,key=func)) #根據返回值判斷最大值,返回值最大的那個引數是結果
#lambda
print(max(dic,key=lambda key:dic[key]))
k2
b.在min()函式中的應用
c.在map()函式中的應用
def func(x):
return x**2
ret = map(func,[-1,2,-3,4])
for i in ret:
print(i)
#lambda
ret = map(lambda x:x**2,[-1,2,-3,4])14
916
d.在filte()函式中的應用
def func(x):
return x>10
res = filter(func,[5,8,11,9,15])
for i in res:
print(i)
#lambda
res = filter(lambda x:x>10,[5,8,11,9,15])
1115
e.在zip()函式中的應用
ret = zip((('a'),('b')),(('c'),('d')))
print(ret)
print(list(ret))
##[('a', 'c'), ('b', 'd')]
ret = zip((('a'),('b')),(('c'),('d')))
for i in ret:
print(i)
('a', 'c')
('b', 'd')
1.
d = lambda p:p*2
t = lambda p:p*3
x = 2
x = d(x) #x = 4
x = t(x) #x = 12
x = d(x) #x = 24
print(x)
2.現有兩元組(('a'),('b')),(('c'),('d')),
請使用python中匿名函式生成列表[,]
ret = zip((('a'),('b')),(('c'),('d')))
ret = map(lambda t:,ret)
print(list(ret))
#[, ]
匿名函式 == 內建函式
#zip #字典要轉化為列表
ret = zip(('a','b'),('c','d'))
def func(tup):
return
res = map(func,ret)
print(list(res))
#[, ]
ret = zip((('a'),('b')),(('c'),('d')))
res = map(lambda tup:,ret)
print(list(res))
def multipliers():
return [lambda x:i*x for i in range(4)]
print([m(2) for m in multipliers()])
#[6, 6, 6, 6]
python基礎知識(六)函式 (五)
目錄 六 函式 五 6.1迭代器 6.2可迭代協議,迭代器協議 6.3迭代器的好處 迭代器含有兩個 iter 和 next 函式方法 就是迭代器協議 dir 列印所有擁有的方法 print iter in dir iter print next in dir iter 首先我們要知道可以被for迴圈...
python 基礎知識六 內建函式(1)
coding utf 8 abs 函式 返回數字的絕對值。print abs 45 45 print abs 100.12 100.12 print abs 119l 119 特例 複數 返回 a 2 b 2 開根 print abs 1 2j 2.23606797749979 print abs ...
python中基礎知識(六)
列表 元組 共同點 都是通過索引引用元素值 不同點 列表是可讀寫的,元組是唯讀的 names bill mike john mary numbers 1234 4321 6789 6543 print numbers names.index mike print names numbers.inde...