Python常用函式

2021-09-16 12:52:46 字數 2309 閱讀 1398

目錄

1、map()函式

2、reduce()函式

3、匿名函式lambda

input: 函式f,列表list

output:list

作用:可以把乙個 list 轉換為另乙個 list,只需要傳入轉換函式。

map()是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。

例如,對於list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每個元素都作平方,就可以用map()函式:

因此,我們只需要傳入函式f(x)=x*x,就可以利用map()函式完成這個計算:

def f(x):

return x*x

print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

輸出結果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

注意:map()函式不改變原有的 list,而是返回乙個新的 list。

由於list包含的元素可以是任何型別,因此,map() 不僅僅可以處理只包含數值的 list,事實上它可以處理包含任意型別的 list,只要傳入的函式f可以處理這種資料型別。

【任務】

假設使用者輸入的英文名字不規範,沒有按照首字母大寫,後續字母小寫的規則,請利用map()函式,把乙個list(包含若干不規範的英文名字)變成乙個包含規範英文名字的list:

輸入:['adam', 'lisa', 'bart']

輸出:['adam', 'lisa', 'bart']

def format_name(s):

s1=s[0:1].upper()+s[1:].lower();

return s1;

print map(format_name, ['adam', 'lisa', 'bart'])

input: 函式f,列表list

output:函式f輸出結果

作用:把乙個函式作用在乙個序列[x1, x2, x3, ...]上,這個函式必須接收兩個引數,reduce把結果繼續和序列的下乙個元素做累積計算:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
舉例:序列[1, 3, 5, 7, 9]變換成整數13579:

>>> from functools import reduce

>>> def fn(x, y):

... return x * 10 + y

...>>> reduce(fn, [1, 3, 5, 7, 9])

13579

str2int的函式:

from functools import reduce

digits =

def str2int(s):

def fn(x, y):

return x * 10 + y

def char2num(s):

return digits[s]

return reduce(fn, map(char2num, s))

還可以用lambda函式進一步簡化成:

from functools import reduce

digits =

def char2num(s):

return digits[s]

def str2int(s):

return reduce(lambda x, y: x * 10 + y, map(char2num, s))

程式設計中提到的 lambda 表示式,通常是在需要乙個函式,但是又不想費神去命名乙個函式的場合下使用,也就是指匿名函式

先舉乙個普通的 python 例子:將乙個 list 裡的每個元素都平方:

map( lambda x: x*x, [y for y in range(10)] )
等同於下面的實現:

def sq(x):

return x * x

map(sq, [y for y in range(10)])

python常用函式 python常用函式精講

返回值為bool型別的函式 bool是boolean的縮寫,只有真 true 和假 false 兩種取值 bool函式只有乙個引數,並根據這個引數的值返回真或者假。引數如果預設,則返回false 引數轉換使用標準的邏輯測試表示式 傳入布林型別時,按原值返回 傳入字串時,空字串返回false,否則返回...

python常用函式中文 python常用函式

一 數學相關 1 絕對值 abs 1 2 最大最小值 max 1,2,3 min 1,2,3 3 序列長度 len abc len 1,2,3 len 1,2,3 4 取模 divmod 5,2 2,1 5 乘方 pow 2,3,4 2 3 4 6 浮點數 round 1 二 功能相關 1 函式是否...

Python常用函式

常用函式 abs x abs 返回乙個數字的絕對值。如果給出複數,返回值就是該複數的模。print abs 100 100 print abs 1 2j 2.2360679775 callable object callable 函式用於測試物件是否可呼叫,如果可以則返回1 真 否則返回0 假 可呼...