python基礎知識(六)函式 (八)

2021-09-19 06:48:30 字數 2197 閱讀 4558

目錄

(六)函式----(八)

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...