在本文中,小編將分享20 個 Python 一行代碼,你可以在 30 秒或更短的時間內(nèi)輕松學(xué)習(xí)它們。這種單行代碼將節(jié)省你的時間,并使你的代碼看起來更干凈且易于閱讀。
1 一行 For 循環(huán)
for 循環(huán)是一個多行語句,但是在 Python 中,我們可以使用列表推導(dǎo)式方法在一行中編寫 for 循環(huán)。以過濾小于250的值為例,查看下面的代碼示例。
#For循環(huán)在一行 mylist=[200,300,400,500] #正常方式 result=[] forxinmylist: ifx>250: result.append(x) print(result)#[300,400,500] #一行代碼方式 result=[xforxinmylistifx>250] print(result)#[300,400,500] 2 一行 While 循環(huán)這個 One-Liner 片段將向你展示如何在一行中使用 While 循環(huán)代碼,我已經(jīng)展示了兩種方法。
#方法1SingleStatement whileTrue:print(1)#infinite1 #方法2多語句 x=0 whilex5:?print(x);x=x+1#012345 3 一行 IF Else 語句好吧,要在一行中編寫 IF Else 語句,我們將使用三元運算符。三元的語法是“[on true] if [expression] else [on false]”。我在下面的示例代碼中展示了 3 個示例,以使你清楚地了解如何將三元運算符用于一行 if-else 語句。要使用 Elif 語句,我們必須使用多個三元運算符。
#ifElse在一行中 #Example1ifelse print("Yes")if8>9elseprint("No")#No #Example2ifelifelse E=2 print("High")ifE==5elseprint("數(shù)據(jù)STUDIO")ifE==2else print("Low")#數(shù)據(jù)STUDIO #Example3onlyif if3>2:print("Exactly")#Exactly 4 一行合并字典這個 單行代碼段將向你展示如何使用一行代碼將兩個字典合并為一個。下面我展示了兩種合并字典的方法。
#在一行中合并字典 d1={'A':1,'B':2} d2={'C':3,'D':4} #方法1 d1.update(d2) print(d1)#{'A':1,'B':2,'C':3,'D':4} #方法2 d3={**d1,**d2} print(d3)#{'A':1,'B':2,'C':3,'D':4} 5 一行函數(shù)我們有兩種方法可以在一行中編寫函數(shù),在第一種方法中,我們將使用與三元運算符或單行循環(huán)方法相同的函數(shù)定義。第二種方法是用 lambda 定義函數(shù)。查看下面的示例代碼以獲得更清晰的理解。
#函數(shù)在一行中 #方法一 deffun(x):returnTrueifx%2==0elseFalse print(fun(2))#False #方法2 fun=lambdax:x%2==0 print(fun(2))#True print(fun(3))#False 6 一行遞歸這個單行代碼片段將展示如何在一行中使用遞歸。我們將使用一行函數(shù)定義和一行 if-else 語句。下面是查找斐波那契數(shù)的示例。
#單行遞歸 #Fibonaci單行遞歸示例 defFib(x):return1ifxin{0,1}elseFib(x-1)+Fib(x-2) print(Fib(5))#8 print(Fib(15))#987 7 一行數(shù)組過濾Python 列表可以通過使用列表推導(dǎo)方法在一行代碼中進(jìn)行過濾。以過濾偶數(shù)列表為例。
#一行中的數(shù)組過濾 mylist=[2,3,5,8,9,12,13,15] #正常方式 result=[] forxinmylist: ifx%2==0: result.append(x) print(result)#[2,8,12] #單線方式 result=[xforxinmylistifx%2==0] print(result)#[2,8,12] 8 一行異常處理我們使用異常處理來處理 Python 中的運行時錯誤。你知道我們可以在一行中編寫這個 Try except 語句嗎?通過使用 exec() 語句,我們可以做到這一點。
#一行異常處理 #原始方式 try: print(x) except: print("Error") #單行方式 exec('try:print(x) except:print("Error")')#錯誤 9 一行列表轉(zhuǎn)字典我們可以使用 Python enumerate() 函數(shù)將 List 轉(zhuǎn)換為一行字典。在enumerate() 中傳遞列表并使用dict() 將最終輸出轉(zhuǎn)換為字典格式。
#字典在一行 mydict=["John","Peter","Mathew","Tom"] mydict=dict(enumerate(mydict)) print(mydict)#{0:'John',1:'Peter',2:'Mathew',3:'Tom'} 10 一行多變量Python 允許在一行中進(jìn)行多個變量賦值。下面的示例代碼將向你展示如何做到這一點。
#多行變量 #正常方式 x=5 y=7 z=10 print(x,y,z)#5710 #單行方式 a,b,c=5,7,10 print(a,b,c)#5710 11 一行交換值交換是編程中一項有趣的任務(wù),并且總是需要第三個變量名稱 temp 來保存交換值。這個單行代碼段將向你展示如何在沒有任何臨時變量的情況下交換一行中的值。
#換成一行 #正常方式 v1=100 v2=200 temp=v1 v1=v2 v2=temp print(v1,v2)#200100 #單行交換 v1,v2=v2,v1 print(v1,v2)#200100 12 一行排序排序是編程中的一個普遍問題,Python 有許多內(nèi)置的方法來解決這個排序問題。下面的代碼示例將展示如何在一行中進(jìn)行排序。
#在一行中排序 mylist=[32,22,11,4,6,8,12] #方法1 mylist.sort() print(mylist)##[4,6,8,11,12,22,32] print(sorted(mylist))#[4,6,8,11,12,22,32] 13 一行讀取文件不使用語句或正常讀取方法,也可以正確讀取一行文件。
#一行讀取文件 #正常方式 withopen("data.txt","r")asfile: data=file.readline() print(data)#Helloworld #單行方式 data=[line.strip()forlineinopen("data.txt","r")] print(data)#['helloworld','HelloPython'] 14 一行類上課總是多線工作。但是在 Python 中,有一些方法可以在一行代碼中使用類特性。
#一行中的類 #普通方式 classEmp: def__init__(self,name,age): self.name=name self.age=age emp1=Emp("云朵君",22) print(emp1.name,emp1.age)#云朵君22 #單行方式 #方法1帶有動態(tài)Artibutes的Lambda Emp=lambda:None;Emp.name="云朵君";Emp.age=22 print(Emp.name,Emp.age)#云朵君22 #方法2 fromcollectionsimportnamedtuple Emp=namedtuple('Emp',["name","age"])("云朵君",22) print(Emp.name,Emp.age)#云朵君22 15 一行分號一行代碼片段中的分號將向你展示如何使用分號在一行中編寫多行代碼。
#一行分號 #例1 a="Python";b="編程";c="語言";print(a,b,c) #輸出 #Python編程語言 16 一行打印這不是很重要的片段,但有時當(dāng)你不需要使用循環(huán)來執(zhí)行任務(wù)時它很有用。
#一行打印 #正常方式 forxinrange(1,5): print(x)#1234 #單行方式 print(*range(1,5))#1234 print(*range(1,6))#12345 17 一行map函數(shù)Map 函數(shù)是適用的高階函數(shù)。這將函數(shù)應(yīng)用于每個元素。下面是我們?nèi)绾卧谝恍写a中使用 map 函數(shù)的示例。
#在一行中map print(list(map(lambdaa:a+2,[5,6,7,8,9,10]))) #輸出 #[7,8,9,10,11,12] 18 刪除列表第一行中的 Mul 元素你現(xiàn)在可以使用 del 方法在一行代碼中刪除 List 中的多個元素,而無需進(jìn)行任何修改。
#刪除一行中的Mul元素 mylist=[100,200,300,400,500] delmylist[1::2] print(mylist)#[100,300,500] 19 一行打印圖案現(xiàn)在你不再需要使用for循環(huán)來打印相同的圖案。你可以使用 print 語句和星號 (*) 在一行代碼中執(zhí)行相同的操作。
#在一行中打印圖案# #正常方式 forxinrange(3): print('') #輸出 # #單行方式 print(''*3)# print(''*2)# print(''*1)# 20 一行查找質(zhì)數(shù)此代碼段將向你展示如何編寫單行代碼來查找范圍內(nèi)的素數(shù)。
#查找質(zhì)數(shù) print(list(filter(lambdaa:all(a%b!=0forbinrange(2,a)), range(2,20)))) #輸出 #[2,3,5,7,11,13,17,19]
審核編輯:湯梓紅
-
編程
+關(guān)注
關(guān)注
88文章
3686瀏覽量
95040 -
循環(huán)
+關(guān)注
關(guān)注
0文章
92瀏覽量
16284 -
代碼
+關(guān)注
關(guān)注
30文章
4894瀏覽量
70449 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86460 -
運算符
+關(guān)注
關(guān)注
0文章
173瀏覽量
11416
原文標(biāo)題:20個非常有用的Python單行代碼
文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
對新手非常有用的電子器件基礎(chǔ)資料
展示Python機器學(xué)習(xí)開源項目以及在分析過程中發(fā)現(xiàn)的非常有趣的見解和趨勢

17個非常有用的 Python 技巧

Vim中默認(rèn)未啟用但實際非常有用的選項
python基礎(chǔ):如何注釋代碼塊

分享Python 3中三個鮮為人知但非常有用的功能

20個解決日常問題的Python代碼片段!
17個非常有用的Python技巧
一個簡單但非常有用的小前置放大器電路

Python中10個有用的pip技巧
沒有什么是完美的,但FPGA可能非常有用

20個python3大項目開發(fā)源代碼(含可執(zhí)行程序及源碼)

評論