python作為一種程式語言,在人們的日常工作與生活中應用地愈加廣泛,有些人將其用來做爬蟲、資料分析與視覺化,也有不少人用它來做機器學習與深度學習建模**。
為了避免敲打出複雜而又冗長的**,今天就來和大家分享一下python當中可以提效的三個函式方法,希望大家可以喜歡。
定義:它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。
示例:
def
num_func
(x):
return x **2/
2
data =[1
,3,5
,7,9
,12]list
(map
(num_func,data)
)#輸出 0.5,4.5,12.5,24.5,40.5,72.0]
相信讀者在日常的實踐操作中用for迴圈的比較多,但是與map()函式相比還是略顯複雜與冗長,同時更加簡潔的方式就是map和lambda結合
高階示例:
data =[1
,3,5
,7,9
,12] result =
list
(map
(lambda x:x**2/
2,data)
)#輸出 0.5,4.5,12.5,24.5,40.5,72.0]
定義
filter()函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,filter()根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。
當然讀者也完全可以使用for迴圈加if條件篩選來過濾出相應的元素,但上述操作實在太過於繁瑣
示例:
def
bigger_than_15
(x):
return x>
15
data =[2
,3,5
,6,8
,9]list
(filter
(bigger_than_15,data)
)
定義:
reduce() 函式會對引數序列中元素進行累積
函式將乙個資料集合(鍊錶,元組等)中的所有資料進行下列操作:用傳給 reduce 中的函式 function(有兩個引數)先對集合中的第 1、2 個元素進行操作,得到的結果再與第三個資料用 function 函式運算,最後得到乙個結果。
引數列表
function
有兩個引數的函式,必須引數
sequence
tuple,list,dict,string等可迭代(可理解為可遍歷)資料型別,必須引數
initial
初始值,可選引數
示例:
from functools import
高階示例:
from functools import
reduce
data =[5
,10,13
,56]reduce
(lambda x,y:x+y,data)
提高Python執行效率的六個竅門
曾靈敏 may 18,2015 python是一門優秀的語言,它能讓你在短時間內通過極少量 就能完成許多操作。不僅如此,它還輕鬆支援多工處理,比如多程序。不喜歡python的人經常會吐嘈python執行太慢。但是,事實並非如此。嘗試以下六個竅門,來為你的python應用提速。python簡化了許多程...
可以提高你Python效率的幾個小函式!
這篇文章我們來看幾個很有用的 python 內建函式 這些函式簡直是屌爆了,我認為每個 pythoner 都應該知道這些函式。對於每個函式,我會使用乙個普通的實現來和內建函式做對比。如果我直接引用了內建函式的文件,請理解,因為這些函式文件寫的非常棒!all iterable 如果可迭代的物件 陣列,...
提高python執行效率的方法
python上手很容易,但是在使用過程中,怎麼才能使效率變高呢?下面說一下提高python執行效率的方法,這裡只是說一點,python在引入模組過程中提高效率的方法。例如 1.我們要使用os模組中的某個屬性,那我們可以單獨引入os中某個屬性 from os import version 同樣的我們也...