3個提高python效率的函式

2021-10-23 08:53:40 字數 2081 閱讀 2676

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 同樣的我們也...