python高階函式 11

2021-09-25 14:02:09 字數 3081 閱讀 6115

在乙個函式內呼叫本身

def

new(num)

:if num==

1or num==2:

return

1else

:return new(num-1)

+new(num-2)

print

(new(10)

)

格式

#lambda para1,para2,....,paran:expression using paras

f =lambda a,b,c:a+b+c

print

(f(1,2

,3))

把乙個函式名,以實參的形式,傳遞給這個函式的形參,這個函式就稱為高階函式。

def

add(a,b,c)

:return c(a)

+c(b)

a_va=add(-9

,1,abs

)print

(a_va)

舉例:

li1=

['zhjiang'

,'college'

,'university'

]def

start_s

(s,c)

:return s.startswith(c)

defend_s

(s,c)

:return s.endswith(c)

defone

(lis,st,a)

: li=

for i in lis:

ifnot a(i,st)

:return li

print

(one(li1,

'c',start_s)

)print

(one(li1,

'ty'

,end_s)

)

功能:

li1=

['zhjiang'

,'college'

,'university']f=

filter

(lambda sr:

not sr.endswith(

'ty'

),li1)

print

(list

(f))

功能:

格式:

li=[1

,2,3

,4,5

]res=

map(

lambda x:x+

1,li)

print

(list

(res)

)#[2, 3, 4, 5, 6]x=[

1,2,

3,4]

y=[5,

4,3,

2]deff

(x,y)

:return x+y

r=map

(f,x,y)

print

(list

(r))

#[6, 6, 6, 6]

格式

reduce

(function,iterable,

[inital]

) function必須要傳兩個引數

iterable---

>列表元組

from functools import

reduce

li=[1,

2,3,

4,5,

6]t=reduce

(lambda x,y:x+y,li)

print

(t)#1--->f(1,2)--->[3,3,4,5,6]

#2--->f(3,3)--->[6,4,5,6]

#3--->f(6,4)--->[10,5,6]

#....

#21li=[1

,2,3

,4,5

,6]t=

reduce

(lambda x,y:

10*x+y,li,

100)

print

(t)#100123456

功能

import  numpy as np

import pandas as pd

a=np.random.randint(low=

0,high=

4,size=(2

,4))

print

(a)data=pd.dataframe(a)

print

(data)

tim=data.

(lambda x:x*10)

print

(tim)

'''[[3

311]

[111

0]]0

1230

3311

1111

0012

303030

1010110

1010

0

功能 注:

格式zip(iterable1,it2,it3…)

a=[1

,2,3

]b=[4

,5,6

,7]zipt=

zip(b,a)

print

(list

(zipt)

)#[(4, 1), (5, 2), (6, 3)]

start_zipt=

zip(

*zipt)

print

(list

(start_zipt)

)#[(4, 5, 6), (1, 2, 3)]

a=b=[4

,5,6

,7]c=

zip_1=

zip(a,b,c)

print

(list

(zip_1)

)#[('name', 4, 'id')]

Python練習 高階函式 day11

1,寫函式,傳入n個數,返回字典 例如 min max 2,5,7,8,4 返回 此題用到max min 內建函式 1.1.作業1,寫函式,傳入n個數,返回字典 例如 min max 2,5,7,8,4 返回 此題用到max min 內建函式 2,寫函式,傳入乙個引數n,返回n的階乘 例如 cal ...

python 函式高階 python 函式高階

形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...

Python高階 函式高階

閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...