<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
有用的 Python 單行程式碼片段,只需一行程式碼即可解決特定編碼問題!
在本文中,雲朵君將分享20 個 Python 一行程式碼,你可以在 30 秒或更短的時間內輕鬆學習它們。這種單行程式碼將節省你的時間,並使你的程式碼看起來更乾淨且易於閱讀。
for 迴圈是一個多行語句,但是在 Python 中,我們可以使用列表推導式方法在一行中編寫 for 迴圈。以過濾小於250的值為例,檢視下面的程式碼範例。
#For迴圈在一行 mylist = [200, 300, 400, 500] #正常方式 result = [] </code><code>for x in mylist: if x > 250: result.append(x) print(result) # [300, 400, 500]</code><code>#一行程式碼方式 result = [x for x in mylist if x > 250] print(result) # [300, 400, 500]
這個 One-Liner 片段將向你展示如何在一行中使用 While 迴圈程式碼,我已經展示了兩種方法。
#方法 1 Single Statement while True: print(1) #infinite 1 #方法 2 多語句 x = 0 while x < 5: print(x); x= x + 1 # 0 1 2 3 4 5
好吧,要在一行中編寫 IF Else 語句,我們將使用三元運運算元。三元的語法是“[on true] if [expression] else [on false]”。
我在下面的範例程式碼中展示了 3 個範例,以使你清楚地瞭解如何將三元運運算元用於一行 if-else 語句。要使用 Elif 語句,我們必須使用多個三元運運算元。
#if Else 在一行中 #Example 1 if else print("Yes") if 8 > 9 else print("No") # No #Example 2 if elif else E = 2 print("High") if E == 5 else print("資料STUDIO") if E == 2 else print("Low") # 資料STUDIO #Example 3 only if if 3 > 2: print("Exactly") # Exactly
這個 單行程式碼段將向你展示如何使用一行程式碼將兩個字典合併為一個。下面我展示了兩種合併字典的方法。
# 在一行中合併字典 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}
我們有兩種方法可以在一行中編寫函數,在第一種方法中,我們將使用與三元運運算元或單行迴圈方法相同的函數定義。
第二種方法是用 lambda 定義函數。檢視下面的範例程式碼以獲得更清晰的理解。
#函數在一行中 #方法一 def fun(x): return True if x % 2 == 0 else False print(fun(2)) # False #方法2 fun = lambda x : x % 2 == 0 print(fun(2)) # True print(fun(3)) # False
這個單行程式碼片段將展示如何在一行中使用遞迴。我們將使用一行函數定義和一行 if-else 語句。下面是查詢斐波那契數的範例。
# 單行遞迴 #Fibonaci 單行遞迴範例 def Fib(x): return 1 if x in {0, 1} else Fib(x-1) + Fib(x-2) print(Fib(5)) # 8 print(Fib(15)) # 987
Python 列表可以通過使用列表推導方法在一行程式碼中進行過濾。以過濾偶數列表為例。
# 一行中的陣列過濾 mylist = [2, 3, 5, 8, 9, 12, 13, 15] #正常方式 result = [] for x in mylist: if x % 2 == 0: result.append(x) print(result) # [2, 8, 12] # 單線方式 result = [x for x in mylist if x % 2 == 0] print(result) # [2, 8, 12]
我們使用例外處理來處理 Python 中的執行時錯誤。你知道我們可以在一行中編寫這個 Try except 語句嗎?通過使用 exec() 語句,我們可以做到這一點。
# 一行例外處理 #原始方式 try: print(x) except: print("Error") #單行方式 exec('try:print(x) nexcept:print("Error")') # 錯誤
我們可以使用 Python enumerate() 函數將 List 轉換為一行字典。在enumerate() 中傳遞列表並使用dict() 將最終輸出轉換為字典格式。
# 字典在一行 mydict = ["John", "Peter", "Mathew", "Tom"] mydict = dict(enumerate(mydict)) print(mydict) # {0: 'John', 1: 'Peter', 2: 'Mathew', 3: 'Tom'}
Python 允許在一行中進行多個變數賦值。下面的範例程式碼將向你展示如何做到這一點。
#多行變數 #正常方式 x = 5 y = 7 z = 10 print(x , y, z) # 5 7 10 #單行方式 a, b, c = 5, 7, 10 print(a, b, c) # 5 7 10
交換是程式設計中一項有趣的任務,並且總是需要第三個變數名稱 temp 來儲存交換值。這個單行程式碼段將向你展示如何在沒有任何臨時變數的情況下交換一行中的值。
#換成一行 #正常方式 v1 = 100 v2 = 200 temp = v1 v1 = v2 v2 = temp print(v1, v2) # 200 100 # 單行交換 v1, v2 = v2, v1 print(v1, v2) # 200 100
排序是程式設計中的一個普遍問題,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]
不使用語句或正常讀取方法,也可以正確讀取一行檔案。
#一行讀取檔案 #正常方式 with open("data.txt", "r") as file: data = file.readline() print(data) # Hello world #單行方式 data = [line.strip() for line in open("data.txt","r")] print(data) # ['hello world', 'Hello Python']
上課總是多線工作。但是在 Python 中,有一些方法可以在一行程式碼中使用類特性。
# 一行中的類 #普通方式 class Emp: 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 from collections import namedtuple Emp = namedtuple('Emp', ["name", "age"]) ("雲朵君", 22) print(Emp.name, Emp.age) # 雲朵君 22
一行程式碼片段中的分號將向你展示如何使用分號在一行中編寫多行程式碼。
# 一行分號 # 例 1 a = "Python"; b = "程式設計"; c = "語言"; print(a, b, c) # 輸出 # Python 程式語言
這不是很重要的片段,但有時當你不需要使用迴圈來執行任務時它很有用。
# 一行列印 #正常方式 for x in range(1, 5): print(x) # 1 2 3 4 #單行方式 print(*range(1, 5)) # 1 2 3 4 print(*range(1, 6)) # 1 2 3 4 5
Map 函數是適用的高階函數。這將函數應用於每個元素。下面是我們如何在一行程式碼中使用 map 函數的範例。
#在一行中map print(list(map(lambda a: a + 2, [5, 6, 7, 8, 9, 10]))) # 輸出 # [7, 8, 9, 10, 11, 12]
你現在可以使用 del 方法在一行程式碼中刪除 List 中的多個元素,而無需進行任何修改。
# 刪除一行中的Mul元素 mylist = [100, 200, 300, 400, 500] del mylist[1::2] print(mylist) # [100, 300, 500]
現在你不再需要使用for迴圈來列印相同的圖案。你可以使用 print 語句和星號 (*) 在一行程式碼中執行相同的操作。
# 在一行中列印圖案# # 正常方式 for x in range(3): print('
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45