Python中不可錯過的五個超有用函數(shù)
1.引言
在本文中,我們用代碼詳細說明了Python
中超實用的5個函數(shù)的重要作用。
這些函數(shù)雖然簡單,但卻是Python
中功能最強大的函數(shù)。
Python有許多庫和內(nèi)置函數(shù),理解并正確使用這些函數(shù)有助于幫助我們進行高效地編程。
2. Lambda 函數(shù)
Lambda
函數(shù)是Python
中功能最強大的函數(shù)之一,它有時也被稱之為匿名函數(shù).
它之所以被稱為匿名函數(shù),是因為我們可以實例化和聲明一個沒有名字的函數(shù)。如果要執(zhí)行單個操作,使用lambda
函數(shù)替代傳統(tǒng)函數(shù)非常有用。Lambda
與普通函數(shù)類似,只是它只能返回一個表達式。
接下來我們使用Lambda
函數(shù)來求表達式(a+b)^2
的值
代碼如下:
answer = lambda a, b: a**2 + b**2 + 2*a*b print(answer(3, 6))
注意點如下:
- Lambda函數(shù)的語法為:
lambda arguments: expression
Lambda
函數(shù)不需要函數(shù)名字,返回使用Lambda關鍵字的語句。- 請注意,上述Lambda函數(shù)使用變量
answer
來調(diào)用。 - 我們也可以在其他函數(shù)中使用
Lambda
函數(shù)。 - Lambda與普通函數(shù)類似,只是它只能返回一個表達式。
3. Map 函數(shù)
Map是程序員用來簡化程序的Python
內(nèi)置函數(shù),此函數(shù)可以在不使用任何循環(huán)的情況下對所有指定的元素進行迭代。
接下來我們使用Map函數(shù)來對兩個list
相應元素求和并生成新的list
def add_list(a,b): ?? ?return a+b output = list(map(add_list,[2,6,3],[3,4,5])) print(output)
注意點如下:
- Map函數(shù)的語法為: map(function,iterables)
- 上述例子中,我們自定義的函數(shù)
add_list
的功能是對兩個變量進行求和 - 上述例子運行的結果為另一個list [5, 10, 8]
- 如果我們想要探索更多
map
函數(shù)的功能,我們可以使用lambda
替換上述函數(shù),當然我們也可以不只是針對list操作,也可以對tuple
和set進行操作。
4. Filter 函數(shù)
Filter是Python
中的另一個內(nèi)置函數(shù),當需要區(qū)分其他類型的數(shù)據(jù)時,這個函數(shù)非常有用。Filter
函數(shù)經(jīng)常用于根據(jù)特定過濾條件來提取數(shù)據(jù)。
def is_positive(a): ?? ?return a>0 output = list(filter(is_positive,[1,-2,3,-4,5,6])) print(output)
注意點如下:
- Filter函數(shù)的語法為:
filter(function,iterable)
- 上述自定義的函數(shù)必須要求返回
bool
型的值 - Filter函數(shù)只返回滿足自定義函數(shù)返回值為真的那些元素
- 上述例子的返回值為 [1,3,5,6]
5. Zip 函數(shù)
zip 是Python
中另一個內(nèi)置函數(shù),主要用于從數(shù)據(jù)庫的不同列中提取數(shù)據(jù)并將其更組合為元組。
user_id = ["12121","56161","33287","23244"] user_name = ["Mick","John","Tessa","Nick"] user_info = list(zip(user_name,user_id)) print(user_info)
注意點如下:
- Zip函數(shù)的語法為:
zip(*iterables)
- 該函數(shù)主要作用為將兩個給定的列表組合成一個元組。
- 上述例子的輸出為[(‘Mick’, ‘12121’), (‘John’, ‘56161’), (‘Tessa’, ‘33287’), (‘Nick’, ‘23244’)]
6. Reduce 函數(shù)
當需要對給定列表中的所有元素使用相同的操作時使用Reduce
函數(shù)。
代碼如下:
import functools def sum_two_elements(a,b): ? ? return a+b numbers = [6,2,1,3,4] result = functools.reduce(sum_two_elements, numbers) print(result)
注意點如下:
Reduce
函數(shù)的語法為:functools.reduce(function, iterable)
- Reduce 函數(shù)不是
Python
內(nèi)置函數(shù),使用該函數(shù)時需要導入functools
模塊 - 上述代碼的輸出為16,實現(xiàn)對list所有元素求和的功能
7. 總結
本文重點介紹了Python中一些功能強大的內(nèi)置函數(shù),通過這些函數(shù)可以極大的提升我們編碼效率,并給出了相應的代碼示例。
到此這篇關于Python中不可錯過的五個超有用函數(shù)的文章就介紹到這了,更多相關Python中的神仙級函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用opencv-python如何打開USB或者筆記本前置攝像頭
這篇文章主要介紹了使用opencv-python如何打開USB或者筆記本前置攝像頭的過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06python用WxPython庫實現(xiàn)無邊框窗體和透明窗體實現(xiàn)方法詳解
這篇文章主要介紹了python用WxPython庫實現(xiàn)無邊框窗體和透明窗體實現(xiàn)方法詳解,需要的朋友可以參考下2020-02-02解決Django提交表單報錯:CSRF token missing or incorrect的問題
這篇文章主要介紹了解決Django提交表單報錯:CSRF token missing or incorrect的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03PyTorch中的squeeze()和unsqueeze()解析與應用案例
這篇文章主要介紹了PyTorch中的squeeze()和unsqueeze()解析與應用案例,文章內(nèi)容介紹詳細,需要的小伙伴可以參考一下,希望對你有所幫助2022-03-03