Python中不可錯過的五個超有用函數
1.引言
在本文中,我們用代碼詳細說明瞭Python
中超實用的5個函數的重要作用。
這些函數雖然簡單,但卻是Python
中功能最強大的函數。
Python有許多庫和內置函數,理解並正確使用這些函數有助於幫助我們進行高效地編程。
2. Lambda 函數
Lambda
函數是Python
中功能最強大的函數之一,它有時也被稱之為匿名函數.
它之所以被稱為匿名函數,是因為我們可以實例化和聲明一個沒有名字的函數。如果要執行單個操作,使用lambda
函數替代傳統函數非常有用。Lambda
與普通函數類似,隻是它隻能返回一個表達式。
接下來我們使用Lambda
函數來求表達式(a+b)^2
的值
代碼如下:
answer = lambda a, b: a**2 + b**2 + 2*a*b print(answer(3, 6))
註意點如下:
- Lambda函數的語法為:
lambda arguments: expression
Lambda
函數不需要函數名字,返回使用Lambda關鍵字的語句。- 請註意,上述Lambda函數使用變量
answer
來調用。 - 我們也可以在其他函數中使用
Lambda
函數。 - Lambda與普通函數類似,隻是它隻能返回一個表達式。
3. Map 函數
Map是程序員用來簡化程序的Python
內置函數,此函數可以在不使用任何循環的情況下對所有指定的元素進行迭代。
接下來我們使用Map函數來對兩個list
相應元素求和並生成新的list
def add_list(a,b): return a+b output = list(map(add_list,[2,6,3],[3,4,5])) print(output)
註意點如下:
- Map函數的語法為: map(function,iterables)
- 上述例子中,我們自定義的函數
add_list
的功能是對兩個變量進行求和 - 上述例子運行的結果為另一個list [5, 10, 8]
- 如果我們想要探索更多
map
函數的功能,我們可以使用lambda
替換上述函數,當然我們也可以不隻是針對list操作,也可以對tuple
和set進行操作。
4. Filter 函數
Filter是Python
中的另一個內置函數,當需要區分其他類型的數據時,這個函數非常有用。Filter
函數經常用於根據特定過濾條件來提取數據。
def is_positive(a): return a>0 output = list(filter(is_positive,[1,-2,3,-4,5,6])) print(output)
註意點如下:
- Filter函數的語法為:
filter(function,iterable)
- 上述自定義的函數必須要求返回
bool
型的值 - Filter函數隻返回滿足自定義函數返回值為真的那些元素
- 上述例子的返回值為 [1,3,5,6]
5. Zip 函數
zip 是Python
中另一個內置函數,主要用於從數據庫的不同列中提取數據並將其更組合為元組。
user_id = ["12121","56161","33287","23244"] user_name = ["Mick","John","Tessa","Nick"] user_info = list(zip(user_name,user_id)) print(user_info)
註意點如下:
- Zip函數的語法為:
zip(*iterables)
- 該函數主要作用為將兩個給定的列表組合成一個元組。
- 上述例子的輸出為[(‘Mick’, ‘12121’), (‘John’, ‘56161’), (‘Tessa’, ‘33287’), (‘Nick’, ‘23244’)]
6. Reduce 函數
當需要對給定列表中的所有元素使用相同的操作時使用Reduce
函數。
代碼如下:
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
函數的語法為:functools.reduce(function, iterable)
- Reduce 函數不是
Python
內置函數,使用該函數時需要導入functools
模塊 - 上述代碼的輸出為16,實現對list所有元素求和的功能
7. 總結
本文重點介紹瞭Python中一些功能強大的內置函數,通過這些函數可以極大的提升我們編碼效率,並給出瞭相應的代碼示例。
到此這篇關於Python中不可錯過的五個超有用函數的文章就介紹到這瞭,更多相關Python中的神仙級函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python中號稱神仙的六個內置函數詳解
- python3中apply函數和lambda函數的使用詳解
- Python3中map()、reduce()、filter()的用法詳解
- Python lambda函數使用方法深度總結
- python中filter,map,reduce的作用