Python中的簡寫操作(for、if簡寫、匿名函數(shù))
Python簡寫操作(for、if簡寫、匿名函數(shù))
使用jupyter之后感覺每行代碼都有種寸土寸金的感覺,所以今天總結(jié)一下常用的簡寫代碼的方法:
1 for 簡寫
先舉一個例子:
y = [1,2,3,4,5,6] [(i*2) for i in y ]
會輸出 [2, 4, 6, 8, 10, 12]
1.1 一層for循環(huán)簡寫:
一層 for 循環(huán)的簡寫格式是:(注意有中括號)
- [ 對i的操作 for i in 列表 ]
它相當于:
- for i in 列表:
- 對i的操作
1.2 兩層for循環(huán)
兩層的for循環(huán)就是:
- [對i的操作 for 單個元素 in 列表 for i in 單個元素]
舉個簡單的例子:
y_list = ['assss','dvv'] [print(i) for y in y_list for i in y]
得到結(jié)果:a s s s s d v v
他類似于:
y_list = ['assss','dvv'] for y in y_list: ? ? for i in y: ? ? ? ? print(i)?
2 if 簡寫
格式是:
- True的邏輯 if 條件 else False的邏輯
舉個例子:
y = 0 x = y+3 if y > 3 else y-1
此時 x = -1
因為 y = 0 ,所以判斷 y>3 時執(zhí)行了 False的邏輯:y-1,所以x的值為 -1
2.1 for 與 if 的結(jié)合怎么簡寫
舉個栗子:
x = [1,2,3,4,5,6,7] [print(i) for i in x if i > 3 ]
它會輸出:4 5 6 7
注:使用簡寫的方式無法對 if 判斷為 False 的對象執(zhí)行操作。
所以它的模板是:
- [判斷為True的i的操作 for i in 列表 if i的判斷 ]
3 匿名函數(shù)lambda
匿名函數(shù)的使用方法是:
- lambda 參數(shù): 表達式
舉個栗子:
x = 3 (lambda k: k+3)(x)
輸出 6
這是一個比較簡單的匿名函數(shù)表達式,一般匿名函數(shù)會結(jié)合很多其他函數(shù),作為傳遞參數(shù)的作用。比如:
比如:map()配合匿名函數(shù)
map(函數(shù)名,列表) 這相當于對列表中的每個元素執(zhí)行這個函數(shù)的操作,比如:
list(map(lambda x: x * 2, [1, 2, 3, 4, 5]))
輸出: [2, 4, 6, 8, 10]
Python代碼if else簡寫
python是代碼執(zhí)行是逐行執(zhí)行的,行數(shù)越少代碼執(zhí)行的效率越高,優(yōu)化語句的寫法可以提高代碼的可讀性,使得代碼根據(jù)簡潔。例如一個常用判斷賦值語句通常我們會寫到4行代碼。
if b>0: ? ? a=b else: ? ? a=0
其實可以用一行代碼就可以搞定;
#如果b的值大于0,將b直接賦值給a,否則將a設置為0 a=b if b>0 else 0
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
在python中寫個自定義數(shù)據(jù)包協(xié)議的打包和解包測試
這篇文章主要介紹了在python中寫個自定義數(shù)據(jù)包協(xié)議的打包和解包測試,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
python保留小數(shù)函數(shù)的幾種使用總結(jié)
本文主要介紹了python保留小數(shù)函數(shù)的幾種使用總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
Python實現(xiàn)鏈表反轉(zhuǎn)的方法分析【迭代法與遞歸法】
這篇文章主要介紹了Python實現(xiàn)鏈表反轉(zhuǎn)的方法,結(jié)合實例形式分析了Python迭代法與遞歸法實現(xiàn)鏈表反轉(zhuǎn)的相關操作技巧與注意事項,需要的朋友可以參考下2020-02-02
Python人工智能之路 jieba gensim 最好別分家之最簡單的相似度實現(xiàn)
這篇文章主要介紹了Python人工智能之路 jieba gensim 最好別分家之最簡單的相似度實現(xiàn) ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08

