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

