有用的 Python 單行代碼片段,只需一行代碼即可解決特定編碼問題!
在本文中,小編將分享20 個 Python 一行代碼,你可以在 30 秒或更短的時間內輕松學習它們。這種單行代碼將節省你的時間,并使你的代碼看起來更干凈且易于閱讀。
1 一行 For 循環
for 循環是一個多行語句,但是在 Python 中,我們可以使用列表推導式方法在一行中編寫 for 循環。以過濾小于250的值為例,查看下面的代碼示例。
#For循環在一行 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 循環這個 One-Liner 片段將向你展示如何在一行中使用 While 循環代碼,我已經展示了兩種方法。
#方法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("數據STUDIO")ifE==2else print("Low")#數據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 一行函數我們有兩種方法可以在一行中編寫函數,在第一種方法中,我們將使用與三元運算符或單行循環方法相同的函數定義。第二種方法是用 lambda 定義函數。查看下面的示例代碼以獲得更清晰的理解。
#函數在一行中 #方法一 deffun(x):returnTrueifx%2==0elseFalse print(fun(2))#False #方法2 fun=lambdax:x%2==0 print(fun(2))#True print(fun(3))#False 6 一行遞歸這個單行代碼片段將展示如何在一行中使用遞歸。我們將使用一行函數定義和一行 if-else 語句。下面是查找斐波那契數的示例。
#單行遞歸 #Fibonaci單行遞歸示例 defFib(x):return1ifxin{0,1}elseFib(x-1)+Fib(x-2) print(Fib(5))#8 print(Fib(15))#987 7 一行數組過濾Python 列表可以通過使用列表推導方法在一行代碼中進行過濾。以過濾偶數列表為例。
#一行中的數組過濾 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 一行列表轉字典我們可以使用 Python enumerate() 函數將 List 轉換為一行字典。在enumerate() 中傳遞列表并使用dict() 將最終輸出轉換為字典格式。
#字典在一行 mydict=["John","Peter","Mathew","Tom"] mydict=dict(enumerate(mydict)) print(mydict)#{0:'John',1:'Peter',2:'Mathew',3:'Tom'} 10 一行多變量Python 允許在一行中進行多個變量賦值。下面的示例代碼將向你展示如何做到這一點。
#多行變量 #正常方式 x=5 y=7 z=10 print(x,y,z)#5710 #單行方式 a,b,c=5,7,10 print(a,b,c)#5710 11 一行交換值交換是編程中一項有趣的任務,并且總是需要第三個變量名稱 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 有許多內置的方法來解決這個排序問題。下面的代碼示例將展示如何在一行中進行排序。
#在一行中排序 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帶有動態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 一行打印這不是很重要的片段,但有時當你不需要使用循環來執行任務時它很有用。
#一行打印 #正常方式 forxinrange(1,5): print(x)#1234 #單行方式 print(*range(1,5))#1234 print(*range(1,6))#12345 17 一行map函數Map 函數是適用的高階函數。這將函數應用于每個元素。下面是我們如何在一行代碼中使用 map 函數的示例。
#在一行中map print(list(map(lambdaa:a+2,[5,6,7,8,9,10]))) #輸出 #[7,8,9,10,11,12] 18 刪除列表第一行中的 Mul 元素你現在可以使用 del 方法在一行代碼中刪除 List 中的多個元素,而無需進行任何修改。
#刪除一行中的Mul元素 mylist=[100,200,300,400,500] delmylist[1::2] print(mylist)#[100,300,500] 19 一行打印圖案現在你不再需要使用for循環來打印相同的圖案。你可以使用 print 語句和星號 (*) 在一行代碼中執行相同的操作。
#在一行中打印圖案# #正常方式 forxinrange(3): print('') #輸出 # #單行方式 print(''*3)# print(''*2)# print(''*1)# 20 一行查找質數此代碼段將向你展示如何編寫單行代碼來查找范圍內的素數。
#查找質數 print(list(filter(lambdaa:all(a%b!=0forbinrange(2,a)), range(2,20)))) #輸出 #[2,3,5,7,11,13,17,19]
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
編程
+關注
關注
88文章
3637瀏覽量
93980 -
循環
+關注
關注
0文章
92瀏覽量
16039 -
代碼
+關注
關注
30文章
4825瀏覽量
69037 -
python
+關注
關注
56文章
4807瀏覽量
85037 -
運算符
+關注
關注
0文章
172瀏覽量
11107
原文標題:20個非常有用的Python單行代碼
文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
對新手非常有用的電子器件基礎資料
本帖最后由 eehome 于 2013-1-5 09:56 編輯
對新手非常有用的電子器件基礎資料PCB打樣找華強 http://www.hqpcb.com/3 樣板2天出貨
發表于 10-20 20:13
17個非常有用的 Python 技巧
實際上,很多人選擇學習 Python 的首要原因是其編程的優美性,用它編碼和表達想法非常自然。此外,Python 的編寫使用方式有多種,數據科學、網頁開發、機器學習皆可使用 Python
Vim中默認未啟用但實際非常有用的選項
Vim 作為一款功能強大、選項豐富的編輯器,為許多用戶所熱愛。本文介紹了一些在 Vim 中默認未啟用但實際非常有用的選項。雖然可以在每個 Vim 會話中單獨啟用,但為了創建一個開箱即用的高效編輯環境,還是建議在 Vim 的配置文件中配置這些命令。
python基礎:如何注釋代碼塊
需要對代碼塊進行comment,本文對此介紹。 ? ? ? ? ? ? ? ?方法 ? ? ? ?python注釋的三種方法: ? ? ? ?1.井號注釋單行代碼: # ? ? ? ?
20個解決日常問題的Python代碼片段!
在本文中,將分享20 個 Python 代碼片段,以幫助你應對日常編程挑戰。你可能已經知道其中一些片段,但有些其他片段對你來說可能是新的。趕緊使用這些
17個非常有用的Python技巧
Python 是一門非常優美的語言,其簡潔易用令人不得不感概人生苦短。在本文中,作者 Gautham Santhosh 帶我們回顧了 17 個非常有用的
一個簡單但非常有用的小前置放大器電路
一個簡單但非常有用的小前置放大器電路可以通過連接幾個晶體管來構建。該裝置可輕松將 1mV 信號提升至 100mV 甚至更高。因此,它非常方便放大不能直接與功率放大器一起使用的極小信號。
Python中10個有用的pip技巧
有用的 pip 技巧,以幫助您更好地管理 Python 包。 1. 安裝包 要安裝一個包,只需要運行以下命令: pip install package_name 這里的 package_name 是要
沒有什么是完美的,但FPGA可能非常有用
FPGA是非常有用的器件,通常與ADI公司的ADC或功率IC等一起設計到客戶的設計中。FPGA 可以實現微控制器和所需的任何膠水邏輯。在這篇博客中,我將討論一些與功能安全和FPGA相關的問題。
Vulture 可在Python程序中查找未使用的代碼
Vulture 可以在Python程序中查找未使用的代碼。這對于清理和查找大型項目(代碼庫)中的錯誤非常有用。 不過由于Python的動態特
評論